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;
    }

 



posted @ 2016-04-21 13:11  进进  阅读(88)  评论(0)    收藏  举报