【问题标题】:Need to restart Eclipse in order to get form elements to show up需要重新启动 Eclipse 才能显示表单元素
【发布时间】:2015-06-01 14:14:27
【问题描述】:

我开发了一个小型 JSF 2.2 Web 应用程序,其中包含一些输入文本字段。现在项目运行良好,但问题是当我第二次在 GlassFish 4.0 上执行我的程序时,一些表单元素没有出现。每当我想第二次执行我的程序时,我需要重新启动 eclipse 然后执行,然后只有所有的表单元素都显示出来。我无法理解问题出在哪里,甚至错误日志也很清楚。

当我第二次执行程序时,日期输入之后的表单元素没有显示出来。托管 bean 具有 getters-Setters 和一种将表单的输入插入数据库的方法。我找不到我在代码中犯了什么错误,会不会是 GlassFish 的问题?

XHTML 代码:

    <!--Name -->
    <h:outputLabel for="fnm" value="First Name:*" style="font-weight:bold" />
</div>
<p:inputText id="fnm" value="#{userData.fnm}"
    validatorMessage="First Name cannot be left blank and must be greater than 3 characters">
    <f:validateLength minimum="4" />
    <p:ajax execute="currentInput" update="firstname" event="blur" process="@this" />
</p:inputText>
<p:message for="fnm" id="firstname" display="icon,text" />

<!-- Time and Date In of the Visitor -->
<p:calendar id="datein" readonlyInput="true" pattern="MM/dd/yyyy" value="#{userData.datein}"
    required="true" mindate="today">
    <f:convertDateTime pattern="MM/dd/yyyy" />
</p:calendar>
<script>
    today = Date();
</script>
<p:calendar id="timein" readonlyInput="true" value="#{userData.timein}" required="true"
    pattern="HH:mm a" timeOnly="true" mintime="time" />

<!-- Expected Time and Date out -->
<p:calendar id="edateout" readonlyInput="true" value="#{userData.edateout}" required="true"
    mindate="today" />
<p:calendar id="etimeout" readonlyInput="true" value="#{userData.etimeout}" pattern="HH:mm a"
    timeOnly="true" />

<!-- Vehicle Category -->
<p:selectOneMenu id="vcat" value="#{userData.vcat}" editable="true">
    <f:selectItem itemLabel="Truck" itemValue="truck" noSelectionOption="true" />
</p:selectOneMenu>

<p:commandButton value="Submit" action="#{userData.add}" align="center" ajax="false" />

【问题讨论】:

  • 发布相关代码,页面和使用的托管bean
  • 我已经发布了我的 webapp @Predrag Maric 的相关代码
  • 请参阅 How to Askjsf info page 了解如何创建相关 (mcve) 示例
  • 您好-我从表单中删除了日历组件并执行,现在所有表单元素都在呈现。我想知道prime-faces日历中是否有任何错误
  • 您将 放在了

标签: eclipse jsf primefaces glassfish jsf-2.2


【解决方案1】:

问题可能出在日期值上,因为提交的表单有以前的值,primefaces 的日历元素将无法呈现。要使日历元素正确呈现,您必须清除旧值,这样做的一种方法是,您可以在将值提交到数据库表后取消您的日历值,但请确保您不再使用这些变量,一次你将你的价值观作废,你将无法在任何时候使用它们。

【讨论】:

    【解决方案2】:

    问题解决了,我在提交值后清除了表单,现在它工作得很好。由于我之前提交的表单的会话数据,表单没有显示某些字段。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-25
      • 1970-01-01
      • 1970-01-01
      • 2012-04-18
      • 1970-01-01
      • 1970-01-01
      • 2020-11-23
      • 1970-01-01
      相关资源
      最近更新 更多