How to pass new hidden value to backing bean in JSF
来源:互联网 发布:js获取标签classname 编辑:程序博客网 时间:2024/05/16 09:42
https://www.mkyong.com/jsf2/how-to-pass-new-hidden-value-to-backing-bean-in-jsf/
In some cases, you may need to pass a new hidden value to a backing bean. Generally, there are two ways :
1. HTML Tag + getRequestParameterMap()
Render hidden field with plain HTML input, hard-coded new hidden value and access in backing bean via getRequestParameterMap() method.
JSF…
<h:form id="myForm"> <input type="hidden" name="hidden1" value="this is hidden2" /> <h:commandButton value="submit" action="#{user.action}" /></h:form>
Managed bean…
@ManagedBean(name="user")@SessionScopedpublic class UserBean{public String action(){ String value = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("hidden1");}}
2. JSF Tag + JavaScript
Render hidden field via “h:inputHidden” tag, assign new value via JavaScript.
JSF…
<script type="text/javascript"> function setHiddenValue(new_value){document.getElementById('myForm:hidden2').value = new_value; }</script><h:form id="myForm"> <h:inputHidden id="hidden2" value="#{user.hidden2}" /> <h:commandButton value="submit" action="..." onclick="setHiddenValue('this is hidden2');" /></h:form>
Managed bean…
@ManagedBean(name="user")@SessionScopedpublic class UserBean{public String hidden2;public void setHidden2(String hidden2) {this.hidden2 = hidden2;}}
JSF 2.0 new hidden value example
A JSF 2.0 example, to demonstrate the use of above two methods to pass a new hidden value to a backing bean.
1. Managed Bean
A simple managed bean, assign name as “user”.
package com.mkyong.form;import javax.faces.bean.ManagedBean;import javax.faces.bean.SessionScoped;import javax.faces.context.FacesContext;import java.io.Serializable;@ManagedBean(name="user")@SessionScopedpublic class UserBean implements Serializable {public String hidden1;public String hidden2;public String getHidden2() {return hidden2;}public void setHidden2(String hidden2) {this.hidden2 = hidden2;}public String getHidden1() {return hidden1;}public void setHidden1(String hidden1) {this.hidden1 = hidden1;}public String action(){ String value = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("hidden1"); setHidden1(value); return "start";}}
2. View Page
Two pages for demonstration.
demo.xhtml – two ways to pass a new hidden value.
<?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="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"><h:head><script type="text/javascript"> function setHiddenValue(new_value){ document.getElementById('myForm:hidden2').value = new_value; }</script></h:head> <h:body> <h1>JSF 2 pass new hidden value to backing bean</h1> <h:form id="myForm"> <input type="hidden" name="hidden1" value="this is hidden2" /> <h:inputHidden id="hidden2" value="#{user.hidden2}" /> <h:commandButton value="submit" action="#{user.action}" onclick="setHiddenValue('this is hidden2');" /> </h:form> </h:body></html>
start.xhtml – display hidden value via “h:outputText” tag.
<?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="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"> <h:body> <h1>JSF 2 pass new hidden value to backing bean</h1> <ol> <li>Hidden1 = <h:outputText value="#{user.hidden1}" /></li> <li>Hidden2 = <h:outputText value="#{user.hidden2}" /></li></ol> </h:body></html>
3. Demo
URL : http://localhost:8080/JavaServerFaces/
Download Source Code
- How to pass new hidden value to backing bean in JSF
- ADF HOW TO: How to refresh page/region in backing bean
- How to set a hidden value in Razor
- How to inject value into bean properties in Spring
- How to pass value from Child window to Parent Window
- How to pass an empty string to Value Prompt
- How to pass arguments in exchange
- How to get Hidden Column Value in GridView(ASP.net GridView如何获取隐藏列的值)
- How to change max_allowed_packet value in mysql?
- How to change max_allowed_packet value in mysql?
- Pass parameters to server using hidden field
- How to create new module in npm
- How to add new partition in centos
- How to By Pass Proxy
- How to show hidden files in ubuntu(linux) :)
- How to pass the value to the function when clicking on the UIButton
- How to pass ViewState value from web form page to web user control page?
- How to pass a value from User Control to the Page
- 单元测试Junit
- AngularJs: Detect unsaved data using angularjs
- 安卓下Builder模式解析+自定义Dialog实战演练
- 深入理解Scala中的类型系统
- Android电视机(机顶盒)初次开发的一些经验分享
- How to pass new hidden value to backing bean in JSF
- bzoj2396 POJ3318 神奇的矩阵 随机化
- 关于RabbitMQ-C入门使用需要注意的几个问题
- Android studio导入项目卡住、导入后目录不正确且不能运行的解决办法
- C++四种多态:参数多态,包含多态,重载多态,强制多态
- PHP的抽象类、接口的区别和选择
- 学习笔记之JavaSE(10)--面向对象编程1
- hadoop基础----hadoop实战(七)-----hadoop管理工具---使用Cloudera Manager安装Hadoop---Cloudera Manager和CDH5.8离线安装
- ThinkPHP Where 条件中使用表达式