ManagedBean方法在JSF中不起作用

mahbub_siddique

我编写了两个托管bean类,分别名为MessageHelloWorld它们如下:

Message.java:

package com.bean;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.SessionScoped;

@ManagedBean(name = "message", eager = true)
@RequestScoped
@SessionScoped
public class Message {

    private String message = "Hello World!";

    public String getMessage() {
        return message;
    }
    public void setMessage(String message) {
        this.message = message;
    }
}

HelloWorld.java

package com.bean;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.SessionScoped;

@ManagedBean(name = "helloWorld")
@RequestScoped
@SessionScoped
public class HelloWorld {

   @ManagedProperty(value="#{message}")
   private Message messageBean;
   private String msg;


   public HelloWorld() {
      System.out.println("HelloWorld started!"); 
   }

   public void setMessage(String message) {
       this.msg = message;
   }

   public String getMessage() {
      if(messageBean != null){
         msg = messageBean.getMessage();
      }       
      return msg;
   }

   public void setMessageBean(Message message) {
      this.messageBean = message;
   }

   public void showMsg(){
      // String str="I am a demo string!";
       System.out.println(msg +" I am from showMsg()");
   }  
}

而且,我index.xhtml在这里:

<body>
    #{helloWorld.message}
    <h:form>
        <h:commandButton value="Show Msg" action="#{helloworld.showMsg}"/>
    </h:form>
</body>

#{helloWorld.message}完美打印消息。但是<h:commandButton> does not invoke the methodshowMsg()`。有什么问题?

普雷德拉格·马里奇(Predrag Maric)

您已将action="#{helloworld.showMsg}"小写字母w用于世界。EL是区分大小写的。更改为action="#{helloWorld.showMsg}"

另外,在注释中告诉您的内容,您不能同时使用@RequestScoped@SessionScoped只能选择一个。并且,action属性应解析为String(showMsg()return void),用于执行导航。如果您只是想完成某项操作而没有导航,请actionListener改用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

triggerChange()函数在JSF中不起作用?

来自分类Dev

@ManagedBean批注不起作用,但@Named起作用

来自分类Dev

jsf:在managedbean中调用方法以提供异常

来自分类Dev

OnTimer方法在MFC中不起作用

来自分类Dev

Python中的静态方法不起作用

来自分类Dev

onInfoWindowClick方法在android中不起作用

来自分类Dev

后方法在Laravel中不起作用

来自分类Dev

'if'中的count方法不起作用-python

来自分类Dev

Laravel中的填充方法不起作用?

来自分类Dev

onclick方法在Chrome中不起作用

来自分类Dev

发布方法在PHP中不起作用

来自分类Dev

FindviewbyId方法在片段中不起作用

来自分类Dev

Tree :: TreeNode中的方法不起作用

来自分类Dev

OnClick()方法在TextView中不起作用

来自分类Dev

OnTimer方法在MFC中不起作用

来自分类Dev

ResetDefaults()方法在StructureMap中不起作用

来自分类Dev

'if'中的count方法不起作用-python

来自分类Dev

Laravel中的填充方法不起作用?

来自分类Dev

touchMoved方法中的动画不起作用

来自分类Dev

方法rawQuery()中的INSERT不起作用

来自分类Dev

onclick方法在Chrome中不起作用

来自分类Dev

$ valid方法在Angular中不起作用

来自分类Dev

jQuery中的.prop方法不起作用

来自分类Dev

递归方法在Rails中不起作用

来自分类Dev

滑块中的.css()方法不起作用

来自分类Dev

提交方法在Rails中不起作用

来自分类Dev

Grep 方法在 perl 中不起作用

来自分类Dev

TabLayout 中的方法 removeAllTabs() 不起作用

来自分类Dev

OnDestroy 中的调用方法不起作用