在web开发中,action中有一个变量,如何在前台将该内容打印出来(不通过return)
action代码示例:
public class TestAction {
/**
* 将变量 str 在前端打印出来的方法
* @return
*/
public String testTransformer() {
String str = "hello world!";
try {
PrinterWriter printerWriter = null;
ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
printerWriter = ServletActionContext.getResponse().getWriter();
if (null != printerWriter) {
printerWriter.print(str);
printerWriter.flush();
printerWriter.close();
}
}
catch (Exception e) {
e.printStackTrace();
this.setMessage(this.getText("returnMsg.fileNotExist") + e);
return "errorMessage";
}
return null;
}
}
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// 获取action中的str变量
function testGetString() {
var getStr = "";
$.ajax({
url: "",
type: "POST",
async: false,
data: {},
success: function(msg) {
getStr = msg;
}
});
}
说明:上述代码,是在Struts2框架内使用,引入了 struts2-core-2.3.15.1.jar 包;如果是使用SpringMVC框架,需要修改ServletActionContext响应内容;