【问题标题】:Error when using JSF @ManagedProperty(...)?使用 JSF @ManagedProperty(...) 时出错?
【发布时间】:2014-12-09 15:20:46
【问题描述】:

我在使用 @ManagedProperty 时遇到问题。一旦我将它分配给一个属性,我就会收到以下错误。显然参数被理解为空,但这不是想要的情况。为什么@ManagedProperty(value = "#{param.menu}") 会返回null

我输入的行:

.../spectrum/index.jsf?lang=en&menu=impressum

我的代码:

@ManagedProperty(value = "#{param.menu}")
private String menu;

public String getMenu() {
    return menu;
}

public void setMenu(String menu) {
    this.menu = menu;
}

我得到的错误:

Error processing request
Context Path:
/spectrum

Servlet Path:
/index.jsf

Path Info:
null

Query String:
lang=en&menu=impressum

Stack Trace
javax.servlet.ServletException: Verwalteter Bean topMenuBean kann nicht erstellt werden. Die folgenden Probleme wurden gefunden: - Der Bereich des Objekts, auf das Ausdruck #{param.menu}, request, ist kürzer als der verweisende Bereich session des verweisenden Beans topMenuBean.
javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61)
io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113)
io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:56)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45)
io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:61)
io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70)
io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:240)
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73)
io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146)
io.undertow.server.Connectors.executeRootHandler(Connectors.java:177)
io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:727)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)

编辑:

错误在于@SessionScoped。它必须是 @RequestScoped 才能使其工作! 谢谢@Tiny!非常感谢你们! :)

【问题讨论】:

  • 主要异常消息已本地化。什么是翻译? #{param} 需要一个请求范围的托管 bean。该 bean 请求是否有作用域?
  • 谷歌翻译 : "Managed Bean topMenuBean 无法创建。发现了以下问题: - 对象的区域为表达式#{} param.menu,请求,比引用 Bean 的引用字段会话短 topMenuBean.”是不言自明的。 topMenuBean 是一个会话范围的 bean,其中 #{param.menu} 未绑定。它需要一个请求范围的 bean。
  • 哇! :) 那很简单!谢谢!我会尽快更新我的帖子! +++ 为您服务!
  • 将您的环境更改为英语。 Google 成功点击错误消息的机会将成倍增加。

标签: jsf jsf-2 managed-property


【解决方案1】:

错误在于@SessionScoped。它必须是 @RequestScoped 才能使其工作!谢谢@Tiny!非常感谢你们! :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-14
    相关资源
    最近更新 更多