struts2 里面 <s:action name= /> 返回结果必须要2个JSP么?想要将action的结果显示出来 必须要有另外一个JSP 然后调用过来么 ?

解决方案 »

  1.   

    在jsp页面中调用action不必非要执行result
    <s:action name="actionName" namespace="nameSpace" id="someId" executeResult="false"/>executeResult设成false(默认也是false),action执行后会存放在actionContext中,可以用property标签取
    <s:property value="#someId.yourActionProperty" />
      

  2.   

    action里这么写ServletActionContext.getRequest().setAttribute("PubInfoList", PubInfoList); 是么
      

  3.   

    1.action标签执行Action中写法:ServletActionContext.getRequest().setAttribute("PubInfoList", PubInfoList); 2.jsp:<html>
    <body>
    <s:action name="actionName" namespace="nameSpace" executeResult="false"/> 
    <s:iterator value="#request.PubInfoList">
    </s:iterator>
    </body>
    </html>
      

  4.   

    action
    public class test4 extends ActionSupport { private Vector v ;      
    public List getV() {
    return v;
    }
    public void setV(Vector v) {
    this.v = v;
    }
    public String execute() {

    v = new Vector();
    user u1 = new user();user u2 = new user();user u3 = new user();user u4 = new user();
    u1.setName("h1");u2.setName("h2");u3.setName("h3");u4.setName("h4");
    v.add(u1);v.add(u2);v.add(u3);v.add(u4);ServletActionContext.getRequest().setAttribute("testV", v); 

    return SUCCESS;
    }
    struts.xml        <action name="test4" class="tutorial.test4">
            
            </action> 
    jsp<s:action name="test4"  executeResult="false">
               <s:iterator value="#request.testV">                
                  <p>name is: <s:property value="name"/></p>            </s:iterator>
    </s:action>
      

  5.   

    jsp:这样可以看看:
    <s:action name="test4"  executeResult="false"></s:action>
             <s:iterator value="#request.testV">                
                  <p>name is: <s:property value="name"/> </p> 
             </s:iterator> 
      

  6.   

    首先,action中不需要这句
    ServletActionContext.getRequest().setAttribute("testV", v); 
    JSP应该这么写<s:action name="test4"  executeResult="false" id="myAction"/>
      <s:iterator value="#myAction.v">
        <p>name is: <s:property value="name"/> </p>
      </s:iterator>