第一篇:Struts2一个Action内包含多个请求处理方法
Struts2一个Action内包含多个请求处理方法
Struts2一个Action内包含多个请求处理方法的处理,method的使用方法,struts2中的路径问题,通配符映射
struts2的关于method=“{1}“意思详解
====== name= ”Login_* “ 代表这个action处理所有以Login_开头的请求 method= ”{1} “ 根据前面请求Login_methodname,调用action中的以methodname命名的方法 class= ”mailreader2.Login “ action的类名称
如jsp文件中请求Login_validateUser的action名称,根据上面配置,调用action类mailreader2.Login类中方法validateUser()又如:
对于Login_update请求,将会调用mailreader2.Login的update()方法。它的用法同webwork中的!符号的作用,相当于是一个通配符。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
Struts2 学习笔记4--Action Method--接收参数 文章分类:Java编程 struts2中的路径问题
注意:在jsp中”/”表示tomcat服务器的根目录,在struts.xml配置文件中”/”表示webapp的根路径,即MyEclipse web项目中的WebRoot路径。总结:
struts2中的路径问题是根据action的路径而不是jsp路径来确定,所以尽量不要使用相对路径。
虽然可以用redirect方式解决,但redirect方式并非必要。
解决办法非常简单,统一使用绝对路径。(在jsp中用request.getContextRoot方式来拿到webapp的路径)
或者使用myeclipse经常用的,指定basePath。Action Method 配置:
Action执行的时候并不一定要执行execute方法
1、可以在配置文件中配置Action的时候用method=来指定执行哪个方法(前者方法)
2、也可以在url地址中动态指定(动态方法调用DMI)(推荐)(后者方法)/user/userAdd“>添加用户
/user/user!add“>添加用户
前者会产生太多的action,所以不推荐使用。(注:<% String context = request.getContextPath();%>)再给个案例,大概介绍!使用动态调用DMI的方法,即通过!+方法名的指定方法: UserAction.java import com.opensymphony.xwork2.ActionContext;import java.util.Map;public class UserAction { private String userName;private String password;
public String getUserName(){ return userName;} public void setUserName(String userName){ this.userName = userName;} public String getPassword(){ return password;} public void setPassword(String password){ this.password = password;} public String execute(){ if(!userName.equals(”aa“)||!password.equals(”aa“)){ return ”error“;}else{ Map session=(Map)ActionContext.getContext().getSession();session.put(”userName“, userName);return ”success“;} }
public String loginOther(){ if(!userName.equals(”bb“)||!password.equals(”bb“)){ return ”error“;}else{ Map session=(Map)ActionContext.getContext().getSession();session.put(”userName“, userName);return ”success“;} } }
struts.xml
login_welcome.jsp <%@ page language=”java“ import=”java.util.*“ pageEncoding=”utf-8“%> <%@ taglib uri=”/struts-tags“ prefix=”s“ %>
第二篇:struts2 从一个action 跳转到另一个action的两种方法(本站推荐)
从action1直接跳转到action2,有两种方法:
1.需要保存前一个action的属性信息时使用,保存住action1的request对象:
Struts.xml
Java代码
1.
2. 3. 7.
[java] view plain copy
print?
1. 2.
3. 7.
action1
Java代码
1.public class StrAction1 {
2.String a =“liminhappygirl”;3.public String getA(){ 4.return a;
5.}
6.public void setA(String a){ 7.this.a = a;8.}
9.public String sa1(){
10.HttpServletRequest request =(HttpServletRequest)ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);11.request.setAttribute(“limin”, “happygirl”);12.System.out.println(“sal已经执行”);13.return “sa2”;14.} 15.16.}
[java] view plain copy
print?
1.public class StrAction1 {
2.String a =“liminhappygirl”;3.public String getA(){ 4.return a;5.}
6.public void setA(String a){ 7.this.a = a;8.}
9.public String sa1(){
10.HttpServletRequest request =(HttpServletRequest)ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);11.request.setAttribute(“limin”, “happygirl”);12.System.out.println(“sal已经执行”);13.return “sa2”;14.} 15.16.}
action2
Java代码
1.public class StrAction2 { 2.public String sa2(){
3.HttpServletRequest request =(HttpServletRequest)ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);4.//当type=“chain” 时能保存住request对象
5.System.out.println(request.getAttribute(“limin”));6.return Action.SUCCESS;7.} 8.}
[java] view plain copy
print?
1.public class StrAction2 {
2.public String sa2(){
3.HttpServletRequest request =(HttpServletRequest)ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);4.//当type=“chain” 时能保存住request对象
5.System.out.println(request.getAttribute(“limin”));6.return Action.SUCCESS;7.} 8.}
第三篇:Struts2国际化与乱码不同的方法处理
Struts2国际化
开发工具:MyEclipse
首先当然是建项目啦~
我来说明一下文件的用处:
Messages_en.properties 是存放的是英文属性的
Messages_zh.properties 是存放的是中文属性的
Messages.properties 是国际化一定要的
也可以在struts.xml里写
小小的国际化就算完成啦~
试试:
在index.jsp加入这段
<%=ServletActionContext.getContext().getLocale()%> 这可以看到你现在IE用的是什么语言
(记得载入包)
<%@page import=“org.apache.struts2.ServletActionContext”%> <%@ taglib uri=“/struts-tags” prefix=“s”%>
运行后
乱码的问题:
在这里我没有修改项目的编码 和Messages_zh.properties的编码,也没有在xml文件里写其它修改编码的代码 也没有用jdk里的转码文件~ 都还是默认的(ISO-88589-1)
就只有jsp的编码改成UTF-8了~
在这里要注意的一点是在给Messages_zh.properties插入数据是方法错了~ 当你在MyEclipse打开properties时是会有二种不同的界面~
Properties
Source
在右下脚可以切换他们的界面
当你用Properties界面点add插入中文时~MyEclipse不会报编码错误或其它什么~Value也不会变化~但在你换到Source时中文就是发生了改变~
是不是很像用JDK转换工具后的中文编码哦~
所以在给Messages_zh.properties插入中文时要用Properties界面进行插入中文字符~ 当国际化读取时就不会乱码了~
这个简单方法~不如大家试试~
2011-10-9
杨远强
第四篇:一个空间主机安装多个网站的方法
多个网站能否安装在一个空间主机上
空间主机,大家都知道的,但是对于一个空间主机安装多个网站的方法,大家肯定就不是那么了解了,中国信息港在这里就给大家详细介绍一下其中的一些细节及步奏!一个空间主机如何安装多个网站的方法
1、在空间上分别绑定 www.xiexiebang.com 和 www.xiexiebang.com
2、把 www.xiexiebang.com 网站文件传到根目录,把 www.xiexiebang.com 网站传到./bbb/ 目录
3、把下面的代码保存为 domain.js,然后上传到空间根目录 以下是代码片段: switch(location.host){ case „www.xiexiebang.com‟:
location.href=”http://www.xiexiebang.com/bbb/” break;}
4、往空间根目录的首页的
与 之间加入5、当你输入 www.xiexiebang.com 访问时看不到任何变化,但是当你输入 www.xiexiebang.com 访问时,浏览器自动跳转到 www.xiexiebang.com/bbb/。这样便实现了同一个空间安装2个网站了,要实现多个网站可以依此类推。另一招:(无需绑定子目录功能)多个域名,在同一个虚拟主机上做多个网站ASP实现同一虚拟主机空间安放多个网站的方法
先将您所有的域名绑定到您的虚拟主机上,然后将虚拟主机根目录中的index.asp(首页文件)里加入下列代码就可以了:
<% sn=lcase(Request.ServerVariables(“SERVER_NAME”))„用于获取用户是通过哪个域名访问的,并转换成小写
if sn=”www.xiexiebang.com” or sn=” aaa.com” then server.Transfer(“default1.asp”)if sn=”www.xiexiebang.com或者aaa.com的话,就访问default1.asp页面,如果是用www.xiexiebang.com” then server.Transfer(“index1.asp”)%>
第五篇:一个总工对项目精装修的所有问题及处理方法做的详细总结
电梯间标准层
现有问题:
1、标准层电梯间层高、净宽不统一;
2、消防烟感及报警器、电梯按钮盒、灯具、音响、开关面板、安全指示牌、检修口等安装位置均不统一;门洞大小、位置不统一。建议整改方案:
后期项目必须严格实行样板开路制度:将精装修、安装等所有相关单位包含的施工内容统一样板施工,过程中调整至最优施工方案,然后按此样板大面施工。
电梯间标准层硅钙板吊顶
现有问题:
1、硅钙板吊顶边龙骨、次龙骨安装不平整、不顺直;
2、硅钙板吊顶边龙骨被乳胶漆污染;
3、硅钙板吊顶收边收口不美观。建议整改方案:
1、对不平整、不顺直的龙骨进行调整;
2、将被污染的边龙骨进行清理;
3、重新处理收边收口。
乳胶漆 现有问题:
1、乳胶漆基层腻子不平整、打磨不到位;
2、乳胶漆面漆有明显刷痕;
3、乳胶漆细部处理不美观:消防喷淋头四周,面漆污染消防烟感器、灯具、音箱喇叭、检修口等边框;
4、阴阳角不顺直、阴角有缝隙(与墙砖衔接处)。建议整改方案:
1、对不平整、不顺直的部位进行修补;
2、将被污染的边框进行清理;
3、重新处理收边收口。
现有问题:
1、乳胶漆基层空鼓、脱落;
2、乳胶漆面漆有明显污染、破损;
3、乳胶漆人为二次损坏;
4、乳胶漆细部处理不美观:阴阳角不顺直。建议整改方案:
1、对不平整、不顺直、空鼓、脱落的部位进行修补;
2、重新处理收边收口。
墙面墙砖
现有问题:
1、墙面砖开孔过大,用玻璃胶收口,影响观感效果;
2、墙面砖部分空鼓、掉落;
3、墙面砖细部处理不美观:收口胶缝大小不
一、收口方式不正确(未捧角)。建议整改方案:
1、更换开孔过大的墙砖;
2、细部收边收口重新处理。
现有问题:
墙面砖细部处理不美观:部分留缝不均、勾缝不饱满、有污染。建议整改方案:
收边收口部位重新处理。
功能性面板安装
现有问题:
1、电梯按钮盒各楼层安装位置不统一;
2、开关面板各楼层安装位置不统一、不规整(东倒西歪)且同楼层面板与面板之间安装高度和间距不一致,部分安装高度不符合国家规范(面板下口离地完成面1300mm);
3、消防烟感器和报警器各楼层安装位置不统一、不规整(东倒西歪),部分因底盒预埋过深,不是采用加长螺丝固定,而直接用玻璃胶固定;部分为后期增加,穿明管且材质不同。
消防指示牌安装
现有问题:
1、安装不牢固,极易掉落;
2、部分安装位置不居中,不平整,与墙面缝隙过大,不美观。建议整改方案:
1、固定牢固;
2、调整安装位置,保持居中安装。
现有问题:
由于门过梁高度不一致,安装高度不一(170mm~300mm)不等,不美观。建议整改方案:
调整安装位置。通风进百叶安装
现有问题:
1、安装位置不规整(东倒西歪);
2、没完全遮盖墙砖缝隙,不美观; 建议整改方案:
调整安装位置。
墙面暗藏门
现有问题:
1、墙面钢架固定方式不正确:直接在加气砖上安装膨胀螺钉与钢架连接;
2、与墙面连接采用钢筋,而且还不做防锈处理。建议整改方案:
1、重新制作墙面钢架基层及饰面砖;
2、钢架加固,并做好防锈处理。备注:
1、针对加气砖墙面应采用先安装预埋钢板与钢架连接的方式;
2、与墙面连接应采用钢架。
首层墙面暗藏门:消防栓门、强电管井门、水井门等
现有问题:
1、部分开启角度不能达到角度90°;
2、未设置瓷碰,导致开启不便或关闭不严实、不平整(内凹)。建议整改方案:
1、调整合页(转轴);
2、增加瓷碰。
标准层墙面明装门:强电管井门、水井门等
现有问题:
1、部分管井门门上方有明显缝隙:无填充处理或未打胶收边收口;
2、不锈钢门套四周收边收口打胶不顺直、不美观。建议整改方案:
1、更换不锈钢门套;
2、重新处理缝隙收边收口部位。
现有问题:
1、不锈钢门套捧角处缝隙过大;
2、不锈钢门套有变形;
3、部分不锈钢门套安装不水平、不垂直。建议整改方案:
1、更换不锈钢门套;
2、重新处理缝隙收边收口部位。
现有问题:
1、部分管井门下方门槛未补烂、找平;
2、管井门下方门槛收边收口不美观、不标准:腻子找平不平整,且未满刮。建议整改方案:
1、完成水泥砂浆补烂、找平;
2、满刮腻子找平(避免影响门扇和墙砖)。备注:
常用做法:应采用墙砖捧角的方式,达到收边收口美观。
检修口(首层门厅)
现有问题:
1、检修口位置设置不统一,各楼层均不同;
2、检修口位置设置不合理:部分检修口设置在入户门正上方或过道正上方,影响整体观感效果。建议整改方案:
重新选位设置,并达到各楼层定位一致且不影响整体观感效果。
检修口(标准层电梯厅)
现有问题:
1、检修口位置设置不统一,各楼层均不同;
2、检修口位置设置不合理:部分检修口设置在电梯门上方,且离石材门套太近,不美观。
3、部分标准层未设检修口,不便于后期电路维修。建议整改方案:
1、重新选位设置,并达到各楼层定位一致;
2、所有标准层增设检修口。
地面地砖
现有问题:
1、地砖与墙砖间缝隙过大;
2、地砖与电梯边框缝隙过大。建议整改方案:
将杂物清理干净,用水泥砂浆补缝、找平。
现有问题:
1、地砖踢脚线粘接层太厚,完成面已高出入户门门框,不美观;
2、地砖与消防管道收口处缝隙过大。建议整改方案:
1、拆除踢脚线,重新粘贴,控制粘接层厚度;
2、将杂物清理干净,用水泥砂浆补缝、找平。
现有问题:
1、标准层地砖完成面与入户门有明显高低差;
2、标准层地砖完成面与消防楼梯间地平有10mm~70mm不等的明显高差,不符合国家规范:消防通道为无障碍通道;
3、出现高低差门槛里面收边收口不统一:部分用水泥砂浆填充且毛刺不平、部分用墙砖粘贴、部分用门槛石砖粘贴。建议整改方案:
1、收边收口统一用与门槛石相同材质的地砖处理; 2、20mm以内高差用水泥砂浆抹平处理。
收边收口
现有问题:
打胶不顺直,有破损、有污染。建议整改方案:
清理胶缝后,重新打胶。
现有问题:
打胶不顺直,有破损、有遗漏、胶缝大小不均。建议整改方案:
1、清理胶缝后,重新打胶。
2、遗漏部位补胶。