如何避免在java自定义标记处理程序中生成html?
我能找到的每个示例都有标记处理程序java类生成html,并使用如何避免在java自定义标记处理程序中生成html?,java,jsp,jsp-tags,custom-tag,Java,Jsp,Jsp Tags,Custom Tag,我能找到的每个示例都有标记处理程序java类生成html,并使用out.print(someHTML)将其输出 有没有办法包含jsp并向请求添加属性?我还没有尝试过,但应该可以通过请求对象: public int doStartTag() throws JspException { try { pageContext.setAttribute("title", "My Title"); pageContext.getRequest().getRequest
out.print(someHTML)将其输出代码>
有没有办法包含jsp并向请求添加属性?我还没有尝试过,但应该可以通过请求对象:
public int doStartTag() throws JspException {
try {
pageContext.setAttribute("title", "My Title");
pageContext.getRequest().getRequestDispatcher("/WEB-INF/includes/header.jspf").include(pageContext.getRequest(), pageContext.getResponse());
}
catch (IOException e) {
}
return EVAL_BODY_INCLUDE;
}
PageContext也有一个方法,但似乎只适用于静态文件,而不适用于JSP;下面是一个使用属性的简单示例
标记文件必须位于WEB-INF/tags下,因此在WEB-INF/tags/makebold.Tag中:
<%@ attribute name="toBold" required="true" %>
<b>${toBold}</b>
${toBold}
在boldtest.jsp中:
<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %>
<my:makebold toBold="this will be bolded" />
我阅读了标记文件和。仅对此进行更新-在pageContext上设置属性不起作用-您需要在请求范围内执行此操作&在使用请求调度程序之前必须执行.flush(),否则输出不会包含在正确的位置。介意我更新你的答案吗?@BedwyrHumphreys:说吧,这就是堆栈溢出的精神。