JSF 1.2和JSP 2.0的简单自定义标签文件及其属性

5
所以我正在尝试在使用JSP 2.0的JSF 1.2环境中创建一个自定义标签。我最终想要通过EL作为属性传递一个java对象,但是我遇到了"org.apache.jasper.JasperException: jsp.error.beans.property.conversion"异常。因此,我退后一步,尝试让一个简单的自定义标签起作用。我成功地打印出“hello world”。然后我尝试传递一个简单的字符串属性并将其打印出来。但这并没有起作用。属性无法显示在屏幕上。静态的“hello world”文本可以正常显示,但属性不能。
WEB-INF/tags/helloworld.tag:
<?xml version="1.0" encoding="UTF-8"?>
<jsp:root version="2.0" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:ui="http://www.sun.com/web/ui" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html">
  <jsp:directive.attribute name="message" required="true"/>
  <ui:staticText id="asdf" text="hello world: #{message}"/>
</jsp:root>

MyBean.jsp然后定义了标签命名空间:xmlns:tags="urn:jsptagdir:/WEB-INF/tags",然后像这样调用标签:

<tags:helloworld message="Test message"/>

我正在使用jboss 4.0.4来部署war文件。

1
@Sam:你在这个问题上设置赏金是可以的,但你确定你和原帖中的问题完全一样吗?原帖中的代码片段中的xmlns:ui="http://www.sun.com/web/ui"表明他正在使用已经过时很久的Woodstock组件库。对我来说(很可能也是其他很多人),这就是忽略这个问题的原因,因为我对它一无所知。 - BalusC
@BalusC,啊,我可能有不同的问题。 - Sam Hasler
你尝试以不同的方式显示此消息属性,但都没成功吗?还是只有ui:staticText可以? - engma
1个回答

0

尝试在“message”属性中设置rtexprvalue =“true”:

<jsp:directive.attribute name="message" required="true" rtexprvalue="true"/>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接