2
是否有可能返回一個String類型的單個值,而不是轉發到struts 1.x中的操作。在struts 1.x中返回文本/純文本
在支柱文檔他們提到,
兩者的Struts 1和Struts 2可以返回任何類型的響應。
但他們爲支柱2.
解釋所有討論任何人可以幫助我,我如何能在struts1.x嗎?
更新: 保羅·巴爾加斯建議解決了我的問題。
是否有可能返回一個String類型的單個值,而不是轉發到struts 1.x中的操作。在struts 1.x中返回文本/純文本
在支柱文檔他們提到,
兩者的Struts 1和Struts 2可以返回任何類型的響應。
但他們爲支柱2.
解釋所有討論任何人可以幫助我,我如何能在struts1.x嗎?
更新: 保羅·巴爾加斯建議解決了我的問題。
既然你有一個javax.servlet.http.HttpServletResponse
的實例,你可以直接寫文本。例如:
public class HelloWorldAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.print("We are send text plain");
return null;
}
}
通過這種方式,您可以發送JSON,XML或二進制文件。
如果要結合傳統請求和Ajax(例如,具有jQuery.ajax
),可能是要檢查發送一個完整的HTML頁面或一個片段,JSON,等等,有:
private final boolean isAjaxRequest(final HttpServletRequest request) {
final String header = request.getHeader("X-Requested-With");
return header != null && header.equalsIgnoreCase("XMLHttpRequest");
}