Html 多重日期格式
我的任务是根据用户的语言更改日期格式。目前该网站以中文和英文运行,但我无法根据用户的语言更改掩码的格式Html 多重日期格式,html,jsf,primefaces,Html,Jsf,Primefaces,我的任务是根据用户的语言更改日期格式。目前该网站以中文和英文运行,但我无法根据用户的语言更改掩码的格式 <h:outputText styleClass="outputText" id="index_output_todate" value="#{msg.index_output_todate}"> </h:outputText> <p:calendar value="#{pc_Index.w_message.am_t
<h:outputText styleClass="outputText"
id="index_output_todate" value="#{msg.index_output_todate}">
</h:outputText>
<p:calendar value="#{pc_Index.w_message.am_todate_filter}"
id="index_input_todate" styleClass="calendar" maxlength="10"
pattern="#{pc_Index.dateDisplayFormat}" onfocus="$(this).mask('9999年99月99日');">
<p:watermark for="index_input_todate" value="#{pc_Index.watermarkDateDisplayFormat}" />
<f:convertDateTime pattern="#{pc_Index.dateDisplayFormat}" />
</p:calendar>
编辑:
HTML
似乎没有什么问题。但是掩码似乎没有出现我不知道您的代码中到底有哪一段失败了。我尝试了一个更简单的示例,效果非常好,因此我建议您调试此功能中涉及的所有代码
<h:form>
<p:outputLabel for="mask" value="Mask:" />
<p:calendar id="mask" value="#{dumpController.date}" pattern="#{dumpController.dateDisplayFormat}" mask="true" />
<p:watermark for="mask" value="Input a date" />
</h:form>
我不知道您的代码中到底有哪一段失败了。我尝试了一个更简单的示例,效果非常好,因此我建议您调试此功能中涉及的所有代码
<h:form>
<p:outputLabel for="mask" value="Mask:" />
<p:calendar id="mask" value="#{dumpController.date}" pattern="#{dumpController.dateDisplayFormat}" mask="true" />
<p:watermark for="mask" value="Input a date" />
</h:form>
面罩似乎不起作用。当我专注于它时,似乎什么也没有出现。尝试删除该值,它应该有一个这样的空白____年__月__日对不起,我不明白哪里出了问题。这种行为是正确的。掩码在要填充的地方添加了下划线(u)。经过多次尝试,我仍然无法获取您在那里的内容。这是我更改的内容,不确定是什么,但有一些内容阻止我显示掩码。xhtml代码似乎正确。也许,ManagedBeans就是问题所在。你使用的命名法不是“传统的”。请用代码的最新版本更新你的问题,包括bean的代码。掩码似乎不起作用。当我专注于它时,似乎什么也没有出现。尝试删除该值,它应该有一个这样的空白____年__月__日对不起,我不明白哪里出了问题。这种行为是正确的。掩码在要填充的地方添加了下划线(u)。经过多次尝试,我仍然无法获取您在那里的内容。这是我更改的内容,不确定是什么,但有一些内容阻止我显示掩码。xhtml代码似乎正确。也许,ManagedBeans就是问题所在。你使用的命名法不是“传统的”。请用代码的最新版本更新您的问题,包括bean代码。
if (isPageFirstLoad(JSP)) {
_w.setIndex_viewtype("11961003");
if (isEmptyNull(_w.getAm_todate_filter())) {
_w.setAm_todate_filter(getTodayDate());
}
Date _todate = _w.getAm_todate_filter();
Date d = _w.addDaysToDate(_todate, -7);
_w.setAm_frdate_filter(d);
_w.setViewNew(true);
_w.populateAlertsMessages();
}
if (this.trigger_viewtype_change) {
this.trigger_viewtype_change = false;
}
}
private Date date;
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getDateDisplayFormat() {
String locale = getUserLocale(); //WARNING!! Hard-coded!!
final String DATEFORMAT_UK = "dd/MM/yyyy";
final String DATEFORMAT_US = "mm/dd/yyyy";
final String DATEFORMAT_CN = "yyyy年MM月dd日";
if(!locale.isEmpty() && locale.equals("en_US")) {
return DATEFORMAT_US;
}
if(!locale.isEmpty() && locale.equals("zh_CN")) {
return DATEFORMAT_CN;
}
return DATEFORMAT_UK;
}
<h:form>
<p:outputLabel for="mask" value="Mask:" />
<p:calendar id="mask" value="#{dumpController.date}" pattern="#{dumpController.dateDisplayFormat}" mask="true" />
<p:watermark for="mask" value="Input a date" />
</h:form>
private Date date;
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getDateDisplayFormat() {
final String locale = "zh_CN"; //WARNING!! Hard-coded!!
final String DATEFORMAT_UK = "dd/MM/yyyy";
final String DATEFORMAT_US = "mm/dd/yyyy";
final String DATEFORMAT_CN = "yyyy年MM月dd日";
if(!locale.isEmpty() && locale.equals("en_US")) {
return DATEFORMAT_US;
}
if(!locale.isEmpty() && locale.equals("zh_CN")) {
return DATEFORMAT_CN;
}
return DATEFORMAT_UK;
}