use*_*397 4 url jsf parameter-passing jsf-2.2
我需要将URL中的java.util.Date从辅助bean传递给另一个Facelet(和bean).
任何人都可以告诉我这是否可能?我知道我无法在URL中传递复杂对象,但是这也包括Date吗?
或者我是否必须将插入日期(使用JSF标记<h:inputText>)转换为String,将其传递给URL然后将其转换回日期?
Bal*_*usC 10
事实:HTTP请求参数是String类型.
因此,从逻辑上讲,在读取和解析传入的HTTP请求参数时,您必须先转换Date为String准备和编写HTTP请求参数,然后再发送和转换String回来Date.
你不清楚你准备URL的确切程度,但鉴于你正在获取Date输入<h:inputText>,我假设你试图将它作为重定向URL的参数传递给支持bean动作方法.在这种情况下,用于SimpleDateFormat转换Date为String.
public String submit() {
String dateString = new SimpleDateFormat("yyyyMMddHHmmss").format(date);
return "newpage.xhtml?faces-redirect=true&date=" + dateString;
}
Run Code Online (Sandbox Code Playgroud)
在接收页面中newpage.xhtml,您可以使用<f:viewParam>它将其设置为bean属性.它使用SimpleDateFormat了封面,因此您可以使用相同的模式语法.
<f:metadata>
<f:viewParam name="date" value="#{bean.date}">
<f:convertDateTime pattern="yyyyMMddHHmmss" />
</f:viewParam>
</f:metadata>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2733 次 |
| 最近记录: |