我通过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;没有价值。
请帮忙。
谢谢, 精明的