gpt4 book ai didi

jsf - 如何从 JSF 页面在 URL 中传递 java.util.Date?

转载 作者:行者123 更新时间:2023-12-04 21:41:08 26 4
gpt4 key购买 nike

我需要将 URL 中的 java.util.Date 从支持 bean 传递到另一个 Facelet(和 bean)。

谁能告诉我这是否有可能?我知道我不能在 URL 中传递复杂的对象,但这也包括日期吗?

或者我是否必须将我插入的日期(使用 JSF 标签 <h:inputText> )转换为字符串,将其传入 URL,然后将其转换回日期?

最佳答案

事实:HTTP 请求参数为 String类型。

因此,从逻辑上讲,您必须从 Date 转换至 String在发送和转换之前准备和写入 HTTP 请求参数时 String返回 Date在读取和解析传入的 HTTP 请求参数时。

您不清楚如何准确地准备 URL,但鉴于您正在获取 Date作为 <h:inputText> 的输入,我假设您尝试将其作为后备 bean 操作方法中的重定向 URL 的参数传递。在这种情况下,请使用 SimpleDateFormat 转换自 DateString .

public String submit() {
String dateString = new SimpleDateFormat("yyyyMMddHHmmss").format(date);
return "newpage.xhtml?faces-redirect=true&date=" + dateString;
}

在接收页面, newpage.xhtml ,您可以使用 <f:viewParam>将其设置为 bean 属性。它使用 SimpleDateFormat在幕后,因此您可以使用相同的模式语法。
<f:metadata>
<f:viewParam name="date" value="#{bean.date}">
<f:convertDateTime pattern="yyyyMMddHHmmss" />
</f:viewParam>
</f:metadata>

也可以看看:
  • What can <f:metadata>, <f:viewParam> and <f:viewAction> be used for?
  • 关于jsf - 如何从 JSF 页面在 URL 中传递 java.util.Date?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20523849/

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