所以我正在尝试使用JSP 2.0在JSF 1.2环境中执行自定义标记。我最终试图将一个java Object作为一个属性传递给EL,但我收到了一个“org.apache.jasper.JasperException:jsp.error.beans.property.conversion”异常。所以我退了一步,试图让一个简单的自定义标签工作。我成功地打印了你好世界。然后我尝试传递一个简单的String属性并打印出来。这不起作用。该属性不会打印到屏幕上。静态“hello world”文本不是属性。
WEB-INF /标签/ 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文件。
答案 0 :(得分:0)
尝试在“message”属性中设置rtexprvalue =“true”,即:
<jsp:directive.attribute name="message" required="true" rtexprvalue="true"/>