Ajax响应包含未翻译的struts2标记

Ajax响应包含未翻译的struts2标记,ajax,struts2,outputstream,ajax-request,actioncontext,Ajax,Struts2,Outputstream,Ajax Request,Actioncontext,我使用的是一个ajax请求,它在服务器端构造了一个模式框。模式框的内容将包含一个“计算”链接,并用一个表单包围: StringBuffer htmlBuffer = new StringBuffer(); htmlBuffer.append( ... "<td>"+ "<s:form action='goToLocationAction' id='formId'>" + "<s:textfield class='form-control hidden' name='

我使用的是一个ajax请求,它在服务器端构造了一个模式框。模式框的内容将包含一个“计算”链接,并用一个表单包围:

StringBuffer htmlBuffer = new StringBuffer();
htmlBuffer.append(
...
"<td>"+
"<s:form action='goToLocationAction' id='formId'>" +
"<s:textfield class='form-control hidden' name='mybean.beanid' value='" + getStringContent(entity.getBeanId()) + "'/>" +
"<s:a href='#' onClick='document.getElementById('formId').submit();'>" + getStringContent(entity.getBeanId()) + "</s:a>" +
"</s:form>" +
"</td>"...
);

mapper.writeValue(ServletActionContext.getResponse().getOutputStream(), htmlBuffer.toString());
StringBuffer htmlBuffer=new StringBuffer();
htmlBuffer.append(
...
""+
"" +
"" +
“”+getStringContent(entity.getBeanId())+“”+
"" +
""...
);
writeValue(ServletActionContext.getResponse().getOutputStream(),htmlBuffer.toString());
在客户端结果页面上,struts标记不会转换为HTML

有什么办法可以做到这一点吗


谢谢。

。。。这不是JSP的工作方式。JSP在服务器端被翻译,模板化的结果被发送到客户端。只需使用JSP构建HTML(几乎没有任何理由手动生成HTML),然后发送它。问题是什么?当用户单击以获取结果表条目的详细信息时,应用程序使用Web服务获取信息并构造填充数据的模式框以返回。(页面未刷新)已理解。这不是JSP的工作方式。您不能将JSP写入客户机并期望客户机知道如何使用它——JSP是服务器端的。要么直接构建HTML(糟糕),要么使用JSP页面。您不能直接将JSP发送到客户机——这不是JSP处理发生的地方。就像我第一次说的,是的,我看到我正在编写struts内容,并将其作为字符串返回给客户端。我希望可以使用一些Struts类将其“解析”为HTML,就像它是一个常规jsp一样。这样我就可以简单地返回翻译后的内容。那么你是说这样的类/方法不可用?谢谢你的解释!从技术上讲,它是可用的。为什么不首先使用JSP呢?那么你就不必去想事情是如何运作的了。