我有一个名为jspString
一个String属性的动作类。我使用属性jspString
为此操作类的最终JSP创建内容。我已经包含了我的操作类和生成的JSP代码。我的问题是,当我尝试包括JSP页面,使用jsp:include
标签,不渲染页面的结果页面的内容。的Struts 2 - JSP:渲染String作为JSP
Action类:
public class HomeAction extends ActionSupport
{
private String jspString = "";
public String execute()
{
jspString += "<div>";
jspString += "<p>";
jspString += "<jsp:include page=\"check.jsp\">";
jspString += "</p>";
jspString += "</div>";
return "success";
}
public String getJspString()
{
return jspString;
}
public void setJspString(String jspString)
{
this.jspString = jspString;
}
}
得到的JSP:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<html>
<body>
<s:property escapeHtml="false" value="jspString"/>
</body>
</html>
现在div
,创建p
标签。但jsp:include
不起作用。它不会在结果页面中显示check.jsp
的内容。
你在哪里,包括你的JSP?我无法在您的代码中看到它,以及您如何包含它? –
检查您的“check.jsp”路径和您所做的请求路径。由于已经向服务器发出了请求,所以映射将根据此请求进行更改,因此“check.jsp”将不在该目录中。它在错误的目录中搜索它。 –