簡體   English   中英

在struts 1.x中返回文本/純文本

[英]Returning text/plain in struts 1.x

是否可以返回String類型的單個值,而不是轉發到struts 1.x中的action。

我在這里這里都遇到了類似的問題。

他們在struts文檔中提到,

Struts 1和Struts 2都可以返回任何類型的響應。

但是在所有討論中,他們都解釋了支柱2。

有人可以幫我在struts1.x中做什么嗎?

更新: Paul Vargas的建議解決了我的問題。

由於您具有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");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM