Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 防止在浏览器中缓存值_Jsf_Jsf 2_Icefaces - Fatal编程技术网

Jsf 防止在浏览器中缓存值

Jsf 防止在浏览器中缓存值,jsf,jsf-2,icefaces,Jsf,Jsf 2,Icefaces,我有一个selectOneMenu和一个dataTable。当我更改所选值时,dataTable将重新填充。 dataTable的其中一列是inputText。问题是,inputText字段不调用getter,而是缓存以前的值 我想强制调用getter,或者将inputText设置为不缓存。 我如何解决这个问题 <h:body> <f:view> <h:form id="headForm"> <ic

我有一个
selectOneMenu
和一个
dataTable
。当我更改所选值时,
dataTable
将重新填充。
dataTable
的其中一列是
inputText
。问题是,
inputText
字段不调用
getter
,而是缓存以前的值

我想强制调用
getter
,或者将
inputText
设置为不缓存。 我如何解决这个问题

 <h:body>
     <f:view>
         <h:form id="headForm">

            <ice:selectOneMenu id="item"
                    value="#{outerBean.selectedItem}"
                    valueChangeListener="#{outerBean.itemListValueChanged}"
                    style="width: 158px;" required="true"
                    label="Supplier Id" partialSubmit="true">
                    <f:selectItems value="#{outerBean.itemList}" />
            </ice:selectOneMenu>

            <ice:dataTable id="pdet" value="#{outerBean.nestedClassList}" var="nestedObject" rendered="true">

                <ice:column>
                <f:facet name="header">Order Number</f:facet>
                    <ice:outputText value="#{nestedObject.orderNumber}" />
                </ice:column>

                <ice:column>
                <f:facet name="header">Qty</f:facet>
                    <ice:inputText value="#{nestedObject.qty}" id="qty" label="'Qty' FOR 'Order Number':#{nestedObject.orderNumber} "
                                   partialSubmit="true" 
                                   valueChangeListener="#{nestedObject.qtyChanged}"
                                   validator="#{nestedObject.validateQty}">
                    </ice:inputText>
                 </ice:column>
            </ice:dataTable>
       </h:form>
   </h:view>

订单号
数量

公共类OuterBean{
private List itemList=new ArrayList();
私有字符串selectedItem;
私有列表nestedClassList=newArrayList();
公共外滩(){
//初始值
}
公共作废项目列表ValueChanged(ValueChangeEvent e){
选择EdItem=(字符串)e.getNewValue();
//重置dataTable记录列表
nestedClassList=getRandomRecords();
}
//---吸气剂二传手-----//
私有类嵌套类{
私有整数订单号;
私人整数数量;
NestedClass(){
orderNumber=generateOrderNumber();
qty=getRandomQty();
}
//-----qtyChangedListener----//
//-----qtyValidator----------//
//-----吸气剂二传手-------//
}
}

我看不到您正在链接itemListValueChanged中nestedObject.qty的位置

除非对组件进行更改,否则不会重新加载该组件

Icefaces中的部分提交将仅更新其值已更改的组件


您可以在SelectOne菜单上设置Partial Submit false,也可以在itemListValueChanged中重新初始化inputText的值。

有关更多说明,请显示代码片段我正在添加嵌套对象的列表。因此,每个
nestedObject
都有一个名为
qty
的属性。所以这是一个新值。您是否可以监视请求接收更新的视图,这些视图将由Icefaces调用以更新监视器。您正在使用哪个版本的icefaces?
public class OuterBean{

    private List<String> itemList = new ArrayList<String>();
    private String selectedItem;

    private List<NestedClass> nestedClassList = new ArrayList<NestedClass>();

    public OuterBean(){
         //init values
    }

    public void itemListValueChanged(ValueChangeEvent e){
         selectedItem = (String)e.getNewValue();

         //reset the dataTable record list
         nestedClassList = getRandomRecords();
    }

    //---getters-setters-----//

    private class NestedClass{

         private int orderNumber;
         private int qty;

         NestedClass(){
             orderNumber = generateOrderNumber();
             qty = getRandomQty();
         }

         //-----qtyChangedListener----//
         //-----qtyValidator----------//
         //-----getters-setters-------//
     }
}