代码之家  ›  专栏  ›  技术社区  ›  Saher Ahwal

在dataTable JSF中为不同的SelectOneMenu存储单独的会话变量

  •  0
  • Saher Ahwal  · 技术社区  · 14 年前

    public class myBean {
        private List<SelectItem> depList;
    

    有能手和二传手。

    我的getter调用一个方法 buildDepList() 它从数据库中获取部门名称并填充部门列表。

    下面是我的JSP文件的样子:

    <ice:dataTable id="specializationTable" style="height: 216px; left: 134px; top: 62px; position: absolute"
        value="#{AdmissionApplication$Application.specBean}" var="specRow" width="480">
        <ice:column id="column2">
            <ice:outputText id="outputText9" value="#{specRow.choiceNum}" visible="true"/>
            <f:facet name="header">
                <ice:outputText id="outputText3" value="#{msg.Choice_Number}"/>
            </f:facet>
        </ice:column>
        <ice:column id="column4">
            <f:facet name="header">
                <ice:outputText id="outputText8" value="#{msg.Department}"/>
            </f:facet>
            <ice:selectOneMenu id="selectOneMenu2" partialSubmit="true" value="#{specRow.departmentName}">
                <f:selectItems id="selectOneMenu2selectItems" value="#{specRow.departmentItems}"/>
            </ice:selectOneMenu>
        </ice:column>
        <ice:column id="column5">
            <f:facet name="header">
                <ice:outputText id="outputText10" value="#{msg.Specialization}"/>
            </f:facet>
            <ice:selectOneMenu id="collegesSelectOneMenu" partialSubmit="true" style="width: 118px" value="#{specRow.specializationName}">
                <f:selectItems id="selectOneMenu3selectItems22" value="#{specRow.specializationItems}"/>
            </ice:selectOneMenu>
        </ice:column>
    </ice:dataTable> -->
    

    价值 selectOneMenu (the) String

    myBean List<myBean> 打电话 specBean dataTable 值设置为该值。

    你有什么建议,我应该吃点什么吗 n 不同变量的名称 在会话中保存?你建议怎么做?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Community pid    4 年前

    selectOneMenu的值(字符串)应该在会话Bean中,对吗?

    视情况而定。将其放入会话范围内的bean将导致值中的任何更改反映/影响到同一会话中的多个浏览器窗口/选项卡。这可能会导致不直观的webapp行为,从而导致糟糕的用户体验。请求范围(或者如果您已经在jsf2.0上,那么视图范围)bean是一个更好的选择。

    myBean类实际上是应用程序范围的。我有一个名为specBean的对象列表,您可以在我的JSP代码中看到,其中dataTable值设置为specBean。

    您的建议是,我应该为selectOneMenu的名称设置n个不同的变量以保存在会话中吗?你建议怎么做?

    List<SelectItem> f:selectItems ,那么将其放入应用程序范围的bean中确实更好。

    推荐文章