使用struts2在操作类中设置varible并在JSP中获取值

时间:2018-03-15 05:56:26

标签: struts2

我通过javascript的ajax调用调用struts2动作类,在成功返回时将其重定向到b.jsp。在动作类中,我设置了一个名为dummyValue的参数,我已经在动作类中定义了getter和setter。但是当我尝试使用它来显示这个dummyValue的值时,它没有显示任何值。

struts.xml

<package name="AbcAction" namespace="/" extends="struts-default">
<action name="abcAction" class="com.AbcAction">
    <result type="stream">
        <param name="contentType">text/html</param>
        <param name="inputName">stream</param>
</result>
<result name="input" type="dispatcher">/errorPage.jsp</result>
</action>

故意将结果类型设置为流。

AbcAction class

 public class AbcAction extends ActionSupport  {
        private InputStream stream;
        private String dummyValue;
      public String execute() {
    dummyValue = "Hello";
           try
               String str = "success";
           stream = new ByteArrayInputStream(str.getBytes());
        return SUCCESS;
} 
    catch (Exception e) {   
            e.printStackTrace();

    String str = "error";
                 stream = new ByteArrayInputStream(str.getBytes());
    return ERROR;
} 

}
public InputStream getStream() {
    return stream;
}
public void setStream(InputStream stream) {
    this.stream = stream;
}
public String getDummyValue() {
    return dummyValue;
}
        public void setDummyValue(String dummyValue) {
    this.dummyValue = dummyValue;
}

}

调用动作类的Javascript函数

function callAbcAction()  {

$.ajax({
                url : "abcAction",
                type: 'post',

                 data: { },

                   success : function(result){
                   if (result == "success") {
            window.location='b.jsp';
                  }
                 else {
            window.location='errorPage';
                 }
             },
           });  

}

标记以在b.jsp中打印dummyMsg

       <div class="col-md-3">
            <p>Dummy Value is : <s:property value="dummyValue"/></p>
        </div>

成功返回时重定向到b.jsp,但仅打印&#34;虚拟值为:&#34;没有价值。

请帮忙。

谢谢, 精明的

0 个答案:

没有答案