gpt4 book ai didi

java - 在 JSF 中从 URL 获取参数的正确方法是什么

转载 作者:搜寻专家 更新时间:2023-11-01 03:06:02 25 4
gpt4 key购买 nike

这是我的 JSF 页面:

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core">

<f:metadata>
<f:viewParam name="id" value="#{productDetailBean.id}" />
</f:metadata>

<h:head>
<title>Facelet Title</title>
</h:head>

<h:body>
<h:outputText value="1=#{productDetailBean.id}" />
<br/>
<h:outputText value="2=#{param['id']}" />
<br/>
<h:outputText value="3=#{productDetailBean.param}" />
</h:body>
</html>

和 bean

import java.io.Serializable;
import java.util.Map;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

@ManagedBean
@ViewScoped
public class ProductDetailBean implements Serializable{

private String id;

public String getParam(){
FacesContext context = FacesContext.getCurrentInstance();
Map<String, String> paramMap = context.getExternalContext().getRequestParameterMap();
String projectId = paramMap.get("id");
return projectId;
}

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}
}

当我像这样传递参数时:/getshipment.xhtml?id=123
我得到输出

1=
2=123
3=123

第二种和第三种方式工作正常。为什么第一个不起作用?获取参数的正确方法是什么?

最佳答案

尝试至少使用 2.2.2 和 GlassFish 4。之前的 2.2.x Mojarra 版本与新的 http://xmlns.jcp.org/jsf/ JSF 命名空间有众所周知的兼容性问题.

另请参阅:

关于java - 在 JSF 中从 URL 获取参数的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22018409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com