1.<h:commandLink value="" action="" immediate="true">
<f:param name="id" value="id的值"/>
</h:commandLink>
页面上的超连接用以上方式,在backingBean中可以用
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
id = request.getParameter("id");
或者:
Map requestParams = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
id = (String) requestParams.get("id");
注意:requestParams 是只读的,对其的写入操作是不允许的,所以要是往回传值的话只能用request;
2.URL传参
<h:outputLink value="personUpdate.faces?id=#{person.id}">
<h:outputText value="编辑"/>
</h:outputLink>
backingBean中调用同第一种方法;
3.用隐藏域的方法
<h:inputHidden id="parameterName" value="#{backingBean.parameterName}" />
把它放到form标签中,然后就把他当作backingbean的一个属性传回给后台,不过在backingbean中要有此属性才可以
4.此方法要有myfaces组件支持才可以,
jsp中加入taglib标签<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
然后<t:saveState value="#{backingbean}"></t:saveState>
只要在你要保存的页面中出现就会一直保存此backingbean的修改,直到页面没有savaState标签才结束。
<f:param name="id" value="id的值"/>
</h:commandLink>
页面上的超连接用以上方式,在backingBean中可以用
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
id = request.getParameter("id");
或者:
Map requestParams = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
id = (String) requestParams.get("id");
注意:requestParams 是只读的,对其的写入操作是不允许的,所以要是往回传值的话只能用request;
2.URL传参
<h:outputLink value="personUpdate.faces?id=#{person.id}">
<h:outputText value="编辑"/>
</h:outputLink>
backingBean中调用同第一种方法;
3.用隐藏域的方法
<h:inputHidden id="parameterName" value="#{backingBean.parameterName}" />
把它放到form标签中,然后就把他当作backingbean的一个属性传回给后台,不过在backingbean中要有此属性才可以
4.此方法要有myfaces组件支持才可以,
jsp中加入taglib标签<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
然后<t:saveState value="#{backingbean}"></t:saveState>
只要在你要保存的页面中出现就会一直保存此backingbean的修改,直到页面没有savaState标签才结束。