h:selectOneMenu无法显示数据库中的值

时间:2014-03-26 13:49:39

标签: jsf

我的JSP中有一个<h:selectOneMenu>组件,但无法显示数据库中的值。

我从支持bean获取值,但这些值不会显示在UI中。 我有一个master.jsp(名称已更改)页面和secondary.jsp(已更改名称)页面。

我的secondary.jsp包含<h:selectOneMenu>个组件。 secondary.jsp中包含master.jsp文件,master.jsp<h:form>个组件,而secondary.jsp没有<h:form>组件。

当我使用<h:outputText>组件时,我能够在UI中显示该值(我仅尝试将其用于测试)。

现在,如果我在<h:form>中添加secondary.jsp,则值会在<h:selectOnemenu>组件中按预期显示。我想在<h:form>中添加secondary.jsp不是正确的方法,因此我在JavaScript中面临其他问题。

需要指导才能解决此问题。我正在使用jsf mojjara 2.0.3实现。这种情况在jsf1.1中完全有效,无需将h:form添加到secondary.jsp

我们正在使用WAS8.5将应用程序从JSF1.1迁移到JSF2.0.3。

注意:我使用<jsp:include>标记来包含其他jsp文件。

辅助JSP文件(包含文件):

    <%@ taglib uri="http://java.sun.com/jsf/core"  prefix="f" %>

    <%@ taglib uri="http://java.sun.com/jsf/html"  prefix="h" %>

    <%@ taglib uri="http://www.bcc.com/bcc/taglib" prefix="bcc" %>

    <SCRIPT language="JavaScript" src="../javascript/treeHelper.js" ></SCRIPT>
    <SCRIPT language="JavaScript" src="../javascript/prototype.js" ></SCRIPT>


    <style>
      .topalign {vertical-align:top;}
    </style>
    <%-- <h:form>  --%>
    <h:panelGrid styleClass="inputTable" cellspacing="0" cellpadding="0" width="95%">
      <h:panelGroup>
        <h:panelGrid border="0" columns="5" width="100%" cellspacing="0" rowClasses=",headerRow, oddRow">
            <h:outputText styleClass="groupLabel" value="Non Identified Tiers" />
            <h:outputText value="&nbsp;" escape="false"/>
            <h:outputText value="&nbsp;" escape="false"/>
            <h:outputText value="&nbsp;" escape="false"/>
            <h:outputText value="&nbsp;" escape="false"/>

            <h:outputText value="Prescription Brand" />
            <h:outputText value="Prescription Generic" />
            <h:outputText value="Brand OTC" />
            <h:outputText value="Generic OTC" />
            <h:outputText value="Medical Supplies" />

         <h:selectOneMenu value="#{profileDetail.detail.profileDefaultSetting.preBrandSetting}" immediate="true"
             style="width:180px"
                onchange="return changed();" readonly="#{!profileDetail.detail.isNew() && (profileDetail.commonReadonly || !profileDetail.detail.originalActive)}" title="Prescription Brand">
                <f:attribute name="jsRequired" value="true"/>
                <f:selectItem  itemValue="" itemLabel="" />
                <f:selectItems  value="#{profileDetail.profileDefaultTierOptions.options}"/>
            </h:selectOneMenu> 

            <h:selectOneMenu value="#{profileDetail.detail.profileDefaultSetting.preGenericSetting}" style="width:180px" onchange="return changed();" readonly="#{!profileDetail.detail.isNew() && (profileDetail.commonReadonly || !profileDetail.detail.originalActive)}" title="Prescription Generic">
                <f:attribute name="jsRequired" value="true"/>
                <f:selectItem  itemValue="" itemLabel="" />
                <f:selectItems  value="#{profileDetail.profileDefaultTierOptions.options}"/>
            </h:selectOneMenu>

            <h:selectOneMenu value="#{profileDetail.detail.profileDefaultSetting.brandOTCSetting}" style="width:180px" onchange="return changed();" readonly="#{!profileDetail.detail.isNew() && (profileDetail.commonReadonly || !profileDetail.detail.originalActive)}" title="Brand OTC">
                <f:attribute name="jsRequired" value="true"/>
                <f:selectItem  itemValue="" itemLabel="" />
                <f:selectItems  value="#{profileDetail.profileDefaultTierOptions.options}"/>
            </h:selectOneMenu>

             <h:selectOneMenu value="#{profileDetail.detail.profileDefaultSetting.genericOTCSetting}"style="width:180px"  onchange="return changed();" readonly="#{!profileDetail.detail.isNew() && (profileDetail.commonReadonly || !profileDetail.detail.originalActive)}" title="Generic OTC">
                <f:attribute name="jsRequired" value="true"/>
                <f:selectItem  itemValue="" itemLabel="" />
                <f:selectItems  value="#{profileDetail.profileDefaultTierOptions.options}"/>
            </h:selectOneMenu> 

            <h:selectOneMenu value="#{profileDetail.detail.profileDefaultSetting.medicalSuppliesSetting}" style="width:180px" onchange="return changed();" readonly="#{!profileDetail.detail.isNew() && (profileDetail.commonReadonly || !profileDetail.detail.originalActive)}" title="Medical Supplies">
                <f:attribute name="jsRequired" value="true"/>
                <f:selectItem  itemValue="" itemLabel="" />
                <f:selectItems  value="#{profileDetail.profileDefaultTierOptions.options}"/>
            </h:selectOneMenu> 
            <h:outputText value="#{profileDetail.detail.profileDefaultSetting.medicalSuppliesSetting}"/>
        </h:panelGrid>
      </h:panelGroup>
      </h:panelGrid>


Master JSP file : 

<%@ taglib uri="http://java.sun.com/jsf/core"  prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html"  prefix="h" %>
<%@ taglib uri="http://www.bcc.com/bccc/taglib" prefix="bcc" %>

<f:view>
<f:attribute name="pageTitle" value="Profile Detail" />
<f:attribute name="currentAppLink" value="ProfileDetail" />
<%@ include file="ApplicationHeader.jsp"%>
<%@ include file="Menu.jsp"%>

<h:form id="detailForm">
<bcc:breadcrumbDef id="bc_profileDetail" action="profileDetail"/>
<%@ include file="ApplicationTitle.jsp"%>

<HR CLASS="titleLine">

<bcc:paneTabbed id="tabcontrol" paneClass="tabcontainer" contentClass="tabcontext" 
  contentStyle="height:240px;overflow:hidden;" selectedClass="tabBigselected" unselectedClass="tabBig">

  <bcc:paneTab id="profileDefaultSetting" rendered="#{security.pageAccess.profileDefaultSetting >= security.readonly}">
    <f:facet name="label">
      <bcc:paneTabLabel label="Settings" commandName="defaultsettings" />
    </f:facet>
    <jsp:include page="secondary.jsp"/>
  </bcc:paneTab>
  </bcc:paneTabbed> 
</h:form>
</f:view>

0 个答案:

没有答案