JSF页面中给定的输入未将该值设置为托管Bean变量 [英] Input given in JSF page does not set that value to managed bean variable

查看:90
本文介绍了JSF页面中给定的输入未将该值设置为托管Bean变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是JSF的新手.我在我的应用程序中使用JSF 2和primefaces 4.0.如标题中所述,xhtml页面中给定的输入值未将值设置为ManagedBean.我已经尝试了所有可能的组合.

Am a newbie to JSF. Am using JSF 2 and primefaces 4.0 in my application. As stated in the Title, the input value given in the xhtml page, does not set the value to the ManagedBean. I have tried all the possible combination.

growlMessage.xhtml

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui">
    <h:head>

    </h:head>

   <h:body>
    <h:form> 
  <p:growl id="growl" showDetail="true" sticky="true" />  

    <p:panel id="panelID" header="Growl">  
        <h:panelGrid columns="2" cellpadding="5">  
            <h:outputLabel for="msg" value="Message:" />   
            <p:inputText id="msg" value="#{growlView.message}" required="true" />  
        </h:panelGrid>  
      <p:commandButton value="Save" actionListener="#{growlView.saveMessage}"/>  
    </p:panel> 

   </h:form>  
    </h:body>
</html>

` GrowlView.java:

import java.io.Serializable;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;


@ManagedBean
@ViewScoped
public class GrowlView implements Serializable{

    private String message;

    public GrowlView() {
    }

    public String getMessage() {
        return message;
    }

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


    public void saveMessage(){
        System.out.println("@@@@@  hello");
        System.out.println("@@@@@"+ getMessage());
        FacesContext context = FacesContext.getCurrentInstance();
        context.addMessage(null, new FacesMessage("Successful", "Your message: "+message));
        context.addMessage(null, new FacesMessage("Second message", "Additional Message details"));
     }
  }

推荐答案

尝试以下代码:使用processpartialSubmit属性:

try this following code: using the process and partialSubmit attributes:

<p:commandButton value="Save" actionListener="#{growlView.saveMessage}" update="growl" process="@form" partialSubmit="true"/>

这篇关于JSF页面中给定的输入未将该值设置为托管Bean变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆