如何从ajax表单中获取HttpServletResponse的数据

时间:2014-07-29 18:22:24

标签: java javascript jquery ajax jsp

我有一个带有隐藏输入值的表单的“first.jsp”和指向另一个jsp的方法。

<form id="popupForm" name="popupForm" action="<%= cqRequest.externalizeHref(handle) %>" method="post"> 
                        <input type="hidden" name="method" value="second"/> 
                        <input type="hidden" name="qualident" value="<%= qualident %>"/> 
                        <input type="hidden" name="val1" value="<%=val1%>"/> 
...
</form>

提交表单后,“second.jsp”中的java代码运行,它调用一个返回Integer值的Web服务,但该文件的javascript部分未运行。

 Integer retVal = method(...);

如何在第一个jsp中获取该整数值? - 我尝试用Printwriter将它写入respone,并将表单数据类型设置为'text'/'json'但是我不能使用响应文本进行子串/拆分或做任何事情,它在每次操作后都始终保持原始状态。 / p>

        PrintWriter pw = response.getWriter(); 
        pw.print("#_#"); 
        JSONObject obj = new JSONObject(); 
        obj.put("retVal", <%=retVal%>); 
        pw.print(obj); 
        pw.flush(); 
        pw.close(); 
  • 我尝试使用设置会话attribrute或sessionstorage,但javascript / jquery不在表单提交的second.jsp中运行。

在第一个jsp中获取变量以便能够检查方法的返回值的方法是什么?

1 个答案:

答案 0 :(得分:2)

它可能会像这样工作:

  1. first.jsp
  2. 上提交表单
  3. 同样,second.jsp将收到请求并调用Web服务以获取整数值。
  4. 在请求对象中设置属性
  5. 使用RequestDispatcher返回first.jsp页面,从HttpServletRequest对象中提取属性。