Java 如何使用Struts从Action到JSP获取简单字符串?
我有一个问题:我需要从Action中获取一些简单的数据并发送回JSP(已经加载),因此我必须使用jQueryJava 如何使用Struts从Action到JSP获取简单字符串?,java,jquery,ajax,jsp,struts2,Java,Jquery,Ajax,Jsp,Struts2,我有一个问题:我需要从Action中获取一些简单的数据并发送回JSP(已经加载),因此我必须使用jQuery$.ajax方法管理该操作以恢复该数据。这是我的代码: MyAction.java private String employee; private InputStream inputStreamEmployee; //these with getter/setter public String someData() throws Exception{ employee=
$.ajax
方法管理该操作以恢复该数据。这是我的代码:
MyAction.java
private String employee;
private InputStream inputStreamEmployee;
//these with getter/setter
public String someData() throws Exception{
employee= "John Doe";
inputStreamEmployee = new ByteArrayInputStream(
employee.getBytes(StandardCharsets.UTF_8));
return "SUCCESS";
}
struts.xml
<action name="getSomeData" method="someData" class="MyAction">
<result name="success" type="stream">
<param name="contentType">text/html</param>
<param name="inputName">inputStreamEmployee</param>
</result>
</action>
我检查了这个,但是我需要javascript部分。所以我调试并检查了开发。javascript方法在java中调用action,action返回success
,但是函数(数据)
中的数据
没有正确获取InputStream,它只获取整个html网页源,如图所示:
我做错了什么?提前感谢。忘记javascript调用,您的问题是请求
www.yourdomain.com/getSomeData
没有返回包含文本John Doe
的页面
为什么要使用inputStream?如果您使用JSP作为模板系统,一个简单的解决方案是
MyAction.java
stuts.xml
/WEB-INF/../templates/some_data.jsp
some_data.jsp
我也尝试了一些问题,比如和,但没有解决方案。HTML的内容是什么?如果不想返回HTML,为什么要将contentType设置为HTML?为什么不使用JSON插件呢?结果通过注释显式映射,但您可能有错误的操作映射。
function getData(){
$.ajax({
type: 'GET',
url: 'getSomeData',
dataType: 'text',
async: true,
success: function (data) {
alert(data);
},
error: function (data) {
alert('no data!!');
}
});
private String employee;
public String someData() throws Exception{
employee= "John Doe";
return "SUCCESS";
}
public String getEmployee(){
return employee;
}
<action name="getSomeData" method="someData" class="MyAction">
<result>/WEB-INF/.../templates/some_data.jsp</result>
</action>
<%= employee%>