Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Struts从Action到JSP获取简单字符串?_Java_Jquery_Ajax_Jsp_Struts2 - Fatal编程技术网

Java 如何使用Struts从Action到JSP获取简单字符串?

Java 如何使用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=

我有一个问题:我需要从Action中获取一些简单的数据并发送回JSP(已经加载),因此我必须使用jQuery
$.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%>