您的位置:首页 > 编程语言 > Java开发

struts2 <s:action>标签的用法

2013-05-10 21:20 465 查看


使用action标签,可以允许在jsp页面中直接调用Action,在调用Action时候,可以指定需要被调用的Action的name和namespace.如果指定了executeResult参数的属性值为true,该标签会把Action的处理结果(视图资源)包含到本页面中. 使用action标签指定属性有: 

id: 可选属性,作为该Action的引用ID    

   

name:必选属性,指定调用Action    

   

namespace:可选属性,指定该标签调用Action所属namespace    

   

executeResult:可选属性,指定是否将Action的处理结果包含到本页面中.默认值为false,不包含.    

   

ignoreContextParam:可选参数,指定该页面的请求参数是否需要传入调用的Action中,默认值是false,即传入参数. 

<s:action name="login" executeResult="true" namespace="/"></s:action> 

传递参数 

<s:action name="actinName" executeResult="true" namespace="/"> 

    <s:param name="currentPage" value="传递的值"></s:param> 

   </s:action> 

<s:param ></s:param>是以request方式的值的,而不是以参数传值 

所以request.getParameter("")会获取不到值 

通过request.getAttribute("")方式可以获取 

另外:使用<s:param ></s:param> value指代的是action定义的对象的名称,而不是一个值 

和 <s:textfield>中的name是一个意思,所以要要传递字符串的不能把值写value中而应该写到 

<s:param >写到这里</s:param> 

------------------ 

对传递参数有疑问: 

<s:action name="actinName" executeResult="true" namespace="/"> 

    <s:param name="aaa" value="xxx">tttt</s:param> 

</s:action> 

我在action中通过 

String value = "" ; 

value = (String)request.getAttribute("aaa"); 

if(value.equals("ttt")||value=="ttt"){ 

   System.out.println("tttttttt"); 



结果报错:java.lang.NullPointerException 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息