struts2一些小细节(1)
1.struts.devMode设置为true后,修改struts.xml不用重启tomcat环境也能生效
<struts> <constant name="struts.devMode" value="true" /> ...... </struts>
2.<result>与<result name="success">是同一个意思
namespace="" 和 不写 效果一样: 访问/index.action 或者/xxx/index.action都能访问到Namespace.jsp
<package name="front" extends="struts-default" namespace="/front"> <action name="index"> <result>/Namespace.jsp</result> </action> </package>
3.修改jsp默认编码格式:
属性->myeclipse->File and editors->JSP->encoding 改为chinese,national stardand
4.一个action下多种方法的配置
<package name="user" extends="struts-default" namespace="/user"> <!-- 第一种:每个方法都要配置一个action 访问方式:http://bathPath:port/user/userAdd.action --> <action name="userAdd" class="com.bjsxt.struts2.user.action.UserAction" method="add"> <result>/user_add_success.jsp</result> </action> <!-- 第二种:多个方法只配置一个action 访问方式:http://bathPath:port/user/user!add --> <action name="user" class="com.bjsxt.struts2.user.action.UserAction"> <result>/user_add_success.jsp</result> </action> </package>
5.通配符匹配
<package name="actions" extends="struts-default" namespace="/actions"> <!-- 通配符匹配,将配置量降到最低 访问方式:http://bathPath:port/actions/Studentadd http://bathPath:port/actions/Studentdelete --> <action name="Student*" class="com.bjsxt.struts2.action.StudentAction" method="{1}"> <result>/Student{1}_success.jsp</result> </action> <!-- 不过,一定要遵守"约定优于配置"的原则 访问方式:http://bathPath:port/actions/Teacher_add http://bathPath:port/actions/Teacher_deletee --> <action name="*_*" class="com.bjsxt.struts2.action.{1}Action" method="{2}"> <result>/{1}_{2}_success.jsp</result> <!-- {0}_success.jsp --> </action> </package>
6.action属性
1)第一种方法:
1-1).发送参数
<a href="user/user!add?name=a&age=8">
1-2)接收参数 在action中
private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }
2) 第二种方法:
2-1)jsp页面发送参数
<a href="user/user!add?user.name=a&user.age=8">
2-2)接收参数 action中
//User为模型 private User user; //private UserDTO userDTO; public String add() { System.out.println("name=" + user.getName()); System.out.println("age=" + user.getAge()); return SUCCESS; } public User getUser() { return user; } public void setUser(User user) { this.user = user; }
浙公网安备 33010602011771号