如何告诉jsf哪些包存储托管bean
我有一个使用JSF2.0 Mojjara的web应用程序。我想把我的托管bean类放到一个名为这样的包中如何告诉jsf哪些包存储托管bean,jsf,jsf-2,Jsf,Jsf 2,我有一个使用JSF2.0 Mojjara的web应用程序。我想把我的托管bean类放到一个名为这样的包中 package com.myapp.managedbean 我如何告诉jsf扫描这个包以查找带注释的托管bean 我的maven依赖项 dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.ser
package com.myapp.managedbean
我如何告诉jsf扫描这个包以查找带注释的托管bean
我的maven依赖项
dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>3.4</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>7.0.26</version>
<scope>provided</scope>
</dependency>
}
和我的页面:
<h:head></h:head>
<h:body>
<p:outputLabel for="extended" />
<p:inputText id="extended" value="#{helloWorld.a}" />
</h:body>
</html>
该页面只显示一个空文本字段。您不必指定,只需将注释放在类名上方,如下所示 它会自己找到它们
@ManagedBean
@SessionScoped
public class MyBean {
而不是
@ManagedProperty(value="Hello World")
private String a;
照办
private String a = "Hello World";
这不是ManagedProperty
的使用方式,用谷歌搜索一下吧
通常,ManagedProperty
用于注入值/bean
下面是一个如何注入另一个bean的示例
@ManagedProperty(value = "#{someOtherBean }")
private SomeOtherBean someOtherBean ; // + getter and setter
真的,当时我错了。因此,由于其他配置,它无法工作。非常感谢。我将关注另一个问题。但是,它不起作用。我用的是素面。primefaces标签在页面上的效果非常好。但是,它不显示托管bean值。对这个问题有什么想法吗?你有没有包括JSFAPI/impl JAR?您是否使用正确的导入<代码>导入javax.faces.bean.ManagedBean代码>导入javax.faces.bean.SessionScoped;`您是否在服务器/浏览器中看到任何错误?是。我使用这些注释。我使用jsf-api-2.0.2.jar和jsf-impl-2.0.2.jar。控制台中没有错误。我使用Tomcat7和Servlet3.0.1。我真的疯了。哦,真的很抱歉。是我的错。我使用了错误的托管bean名称。我解决了这个问题。非常感谢。
@ManagedProperty(value = "#{someOtherBean }")
private SomeOtherBean someOtherBean ; // + getter and setter