我需要一个非常简单的解决方案来实现它。
我需要存储我在JSF selectOneListbox下拉列表中选择的值,并且需要在bean中保留此值。因此,每当用户选择一个新值时,我应该在下拉列表中使用新值检查一个值。使用会话这样做有多好? 任何java解决方案都保留以前选择的值?
我尝试过ValueChangeEvent oldValue不起作用,因为我的范围是请求,这就是我寻找替代方法的原因。
我的JSF版本是1.1
答案 0 :(得分:2)
嗯,你可以试试这个:
<h:form>
<h:inputHidden id="oldValue" value="#{mrBean.oldValue}" />
<h:selectOneListBox id="newValue" value="#{mrBean.newValue}">
...
<h:selectOneListBox>
<h:commandButton actionListener="#{mrBean.doSomething}" value="Submit" />
</h:form>
然后你可以这样访问旧值:
@RequestScoped
@ManagedBean
public class MrBean {
private String oldValue;
private String newValue;
public void doSeomthing() {
if (oldValue != null) {
// Do whatever you need when oldValue is not null here
} else {
// 1st request will have oldValue == null
}
oldValue = newValue; // Update the oldValue with newValue
}
// Getters and Setters
}