您的位置:首页 > Web前端 > JavaScript

通过URL传递参数到JSF

2016-01-01 21:29 681 查看
处理来自于url上传递而来的参数,在目标页面上使用

<f:metadata>
<f:viewParam name="param" value="#{urlParamMBean.param}"/>
<f:viewAction action="#{urlParamMBean.init}" />
</f:metadata>




处理参数初始化传入,如果要在参数传入后做些什么,使用viewAction。

请求

<p><a href="urlParam.xhtml?param=100">url参数测试</a>

目标页面

<?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"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>通过url传递参数</title>
<f:metadata> <f:viewParam name="param" value="#{urlParamMBean.param}"/> <f:viewAction action="#{urlParamMBean.init}" /> </f:metadata>
</h:head>
<h:body>
通过url传递参数
<br />
<h:form>
<p:growl id="msg" showDetail="true"/>
<h:inputText id="param" value="#{urlParamMBean.param}"/>
<p:commandButton action="#{urlParamMBean.plusFive}" value="加5" update="@form msg"/>
</h:form>
</h:body>
</html>
java

@ManagedBean(name = "urlParamMBean")
//@ViewScoped
@RequestScoped
public class UrlParamMBean implements Serializable{

private int param;

public int getParam() {
return param;
}

public void setParam(int param) {
this.param = param;
}

public void init(){
System.out.println("view action into here,param value is "+this.param);
}

public void plusFive(){
this.param=this.param+5;
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "成功", "成功加5,结果是"+this.param ));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: