【发布时间】:2010-09-11 09:39:57
【问题描述】:
;嗨,
我正在使用 JSF 2.0 Mojarra 版本。 2.0.2-SNAPSHOT(使用maven获取)。
我正在尝试使用 Annotation 来设置 JSF bean,例如:
@ManagedBean
@RequestScoped
public class HelloBean {
@ManagedProperty(value="test")
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
注解不起作用,这意味着 HelloBean 类未配置为 JSF bean。为了说明这一点,我有以下页面
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<head>
<title>Hello World</title>
</head>
<body>
<f:view>
Hello #{helloBean.name}
</f:view>
</body>
</html>
名称“test”应打印在页面上。但是当我在 Tomcat 6.20 和 JDK 1.6 上运行时,名称不显示。
如果我使用 faces-config.xml 配置 HelloBean,名称会正确显示在页面上。
我错过了什么?
【问题讨论】: