iLeichun

当前位置: 首页 > Struts

struts2中s:action,s:param参数的传递与获取方法

分类:Struts   来源:网络   时间:2017-06-28 23:59:31
struts2中<s:action><s:param>参数怎么传递与获取?网上找了很多方法,似乎都不行,不过也可能是有什么东西漏掉了吧。后来通过几次测试,找到了一种可行的方式,特发出来分享下。代码如下:

index.jsp
<s:action name="myAction" executeResult="true" >
        <s:param name="count" value="5" />
</s:action>
备注:上述的<s:param name="count" value="5" />
也可以写成
<s:param name="count" value="5" ></s:param>
或者
<s:param name="count" >5</s:param>   <!-- 当参数值为动态时需要用这种写法 -->


struts.xml
<package name="me" extends="struts-default" namespace="">
        <action name="myAction" class="com.web.MyAction">
                   <result name="success">hello.jsp</result>
        </action>
</package>

 
MyAction.java
网上很多文章介绍说用request的getAttribute()方法去获取,但发现获取的参数是null,代码如下:
......
public String execute() {
        System.out.println(ServletActionContext.getRequest().getAttribute("count"));

       return "success";
}
......


后来经过改进,发现正确的方法是:给MyAction新增一个count属性并设置set、get方法
......
private int count;

public int getCount() {
        return count;
}

public void setCount(int count) {
        this.count = count;
}

public String execute() {
        System.out.println(count);

       return "success";
}
......
更多