日期:2014-05-16  浏览次数:20313 次

JSF中的h:commandLink如何传递参数 三种取值比较 .

本人总结了三种取得参数的方法

这是jsf中的代码?

<h:commandLink? action="#{}">
??????<h:outputText value="删除"></h:outputText>
??????<f:param id="id" name="id" value="123"></f:param> //假如要传递的参数为id
</h:commandLink>

这是BackBean中的代码 下边是如何在后台取得这个id参数的值

public class Person
{

?public void verify(ActionEvent e)
?{
??/*这是第一种取得参数的方法
??UIComponent com = e.getComponent();
??UIParameter param = (UIParameter) com.findComponent("id");
??Integer id = (Integer) param.getValue();
??System.out.println(id);
??*/
??/*这是第二种取得参数值的方法
??HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
??
??int id = Integer.parseInt(request.getParameter("id"));
??System.out.println(id);
??*/
??//这是第三种取得参数的方法
??int id = Integer.parseInt(FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("id"));
??
??System.out.println(id);
?}
?
?public String outcome()
?{
??return outcome;
?}

}

?

FROM:http://blog.csdn.net/opnmzxcvb/article/details/5527652