问题描述
我有一个提供JSP的servlet,我正在尝试从会话bean的字符串中输出自定义标签。自定义标签将被打印出来而不进行评估。如果我将自定义标签添加到JSP,它的作用就像一个超级按钮,但是我不能从会话bean中动态添加它们。
我已经尝试直接从会话bean进行输出:
<%= sessionBean.getTags() %>
和
<% out.print(sessionBean.getTags()); %>
我尝试创建一个自定义标签,该标签接受一个字符串作为其属性:
public class JSTLOut extends TagSupport {
String value;
public void setValue(String value) {
this.value = value;
}
public int doStartTag() {
try {
JSPWriter out = pageContext.getOut();
if (value != null) {
out.print.(value);
}
catch(IOException ioe) {
// TODO: handle
}
return(SKIP_BODY);
}
}
我尝试使用Eval taglib
这个taglib引起了LinkageError,显然与websphere配合不好。有人能指出我正确的方向吗?
解决方法
我不确定这是否会很乏味,但是您是否考虑过将自定义标记名称存储在查找数据库表中?然后,您可以在表中查询特定的定制标记名称,并将需要从Servlet返回的任何定制标记名称插入动态JSP中。