Jsf 操作侦听器返回值未更新为输入文本值
我从action listener调用了一个方法,该方法返回字符串,我计划在inputtext字段中更新它,当我尝试这样做时,我并没有在输入字段中获取值 我尝试使用process=“@this”,它完美地执行了操作,如果我删除了该操作,则不会更新该字段 //这是我的备用豆Jsf 操作侦听器返回值未更新为输入文本值,jsf,Jsf,我从action listener调用了一个方法,该方法返回字符串,我计划在inputtext字段中更新它,当我尝试这样做时,我并没有在输入字段中获取值 我尝试使用process=“@this”,它完美地执行了操作,如果我删除了该操作,则不会更新该字段 //这是我的备用豆 public String getNameWithFormID(long id) { TMapper tMapper = new TDao(); map= new HashMap<>
public String getNameWithFormID(long id) {
TMapper tMapper = new TDao();
map= new HashMap<>();
List<TBean> tList = tMapper.getDistinctTName();
for(TBean t1:tList) {
map.put(t1.getID(), t1.getName());
}
System.out.println("id is"+id+"this is map in submit"+map);
System.out.println("this is value of id"+map.get(id));
return map.get(id);
}
公共字符串getNameWithFormID(长id){
TMapper TMapper=新的TDao();
map=新的HashMap();
List tList=tMapper.getDistinctTName();
用于(TBean t1:tList){
put(t1.getID(),t1.getName());
}
System.out.println(“id是”+id+”这是提交“+map”中的map);
System.out.println(“这是id的值”+map.get(id));
返回map.get(id);
}
//这是我的jsf代码
<p:commandButton id = "formidid" value="ADD DATA TO FORM NAME" style="margin-right:20px;"
styleClass="ui-priority-primary" process = "@form" ajax = "true"
onclick ="hideshowAddCat();" actionListener ="#{tServices.getNameWithID(tBean.ID)}" update = ":formid:panelgridid" >
</p:commandButton>
</div>
<div class="ui-g-12 ui-lg-4" style="background:#f2f2f2;margin-top:15px;">
<div class="card card-w-title">
<label for="Nameid">FORM_NAME<i class="fa fa-asterisk" style="color: red;"></i></label>
<p:panelGrid id = "panelgridid" columns="1" layout="grid" styleClass="ui-panelgrid-blank form-group">
<p:inputText id="Nameid" placeholder="FORM_NAME" value="#{tBean.formName}" required = "true">
</p:inputText>
output is <h:outputText value = "#{tBean.Name}"/>
</p:panelGrid>
</div>
</div>
表格名称
输出为
在JSF ajax更新中,无论更新中提到什么ID/ID,我们都需要重新呈现这些组件。这并不意味着分配这些值。如果希望该值与inputText绑定,请将该值分配给与inputText绑定的backingbean变量。因此,当您调用pass以更新inputText组件时,它将显示最新的值。将支持bean方法更新为
public void getNameWithFormID(long id) {
TMapper tMapper = new TDao();
map= new HashMap<>();
List<TBean> tList = tMapper.getDistinctTName();
for(TBean t1:tList) {
map.put(t1.getID(), t1.getName());
}
System.out.println("id is"+id+"this is map in submit"+map);
System.out.println("this is value of id"+map.get(id));
this.formName = map.get(id); // Change is here (assuming that formName is class level variable, as directly bind to backing bean.
}
public void getNameWithFormID(长id){
TMapper TMapper=新的TDao();
map=新的HashMap();
List tList=tMapper.getDistinctTName();
用于(TBean t1:tList){
put(t1.getID(),t1.getName());
}
System.out.println(“id是”+id+”这是提交“+map”中的map);
System.out.println(“这是id的值”+map.get(id));
this.formName=map.get(id);//这里有更改(假设formName是类级变量,直接绑定到支持bean)。
}
太好了,我想你可以接受并投票表决答案。;)谢谢你的反馈!声誉低于15的人所投的票会被记录下来,但不会改变公开显示的帖子分数。获得此响应吗