我正在使用JSf 1.2,我目前正在该列表框中显示一个列表。现在我的问题是我从该列表框中选择值并且表单已提交。因此,当返回页面时,所选值将丢失。我将如何保存我的代码中的值?我正在发布代码
<h:panelGroup styleClass="panelGroup" id="grpMemDep">
<h:selectOneMenu id="memDepCode" styleClass="inputfont" onchange="getMemberDepInfo();">
<f:selectItem itemLabel="----SELECT----" itemValue="0"/>
<f:selectItems id="selectItems32"
value="#{searchUserProfileBean.memberDependentList}" />
</h:selectOneMenu>
</h:panelGroup>
<hx:commandExButton type="submit" value="submit"
styleClass="commandExButton"
id="getAllMemberDepInformation" action="#{pc_userManagementProfile.doGetAllMemDepInfoAction}" style="display:none">
</hx:commandExButton>
function getMemberDepInfo(){
document.getElementById('vwmyUserProfile:myUserProfileForm:getAllMemberDepInformation').click();
}
并且在服务中我使用这个java代码来获取列表框值
List<DependentDTO> dependentList = new MemberProxy()
.getDependentListFormMember( loggedInUser
.getUserAccessList().get(0).getClientCode(),
loggedInUser
.getUserAccessList().get(0).getCertificateNumber());
List<SelectItem> selList=new ArrayList<SelectItem>();
for(DependentDTO depDTO:dependentList){
SelectItem sel = new SelectItem();
sel.setLabel(depDTO.getNameFirst());
sel.setValue(depDTO.getCertNumber()+"#"+depDTO.getClientCode()+"#"+depDTO.getDependentCode());
selList.add(sel);
}
mem = new MemberProxy().getMemberDetails(loggedInUser
.getUserAccessList().get(0).getClientCode(), loggedInUser
.getUserAccessList().get(0).getCertificateNumber());
SelectItem sel = new SelectItem();
sel.setLabel(mem.getNameFirst());
sel.setValue(mem.getCertNumber().toString().trim()+"#"+mem.getClientCode().toString().trim());
selList.add(sel);
memberDependent.setMemberDependentList(selList);
我正在使用隐藏按钮提交。请告诉我如何保存值
答案 0 :(得分:0)
在searchUserProfileBean中,您可以使用getter和setter添加私有属性
<h:selectOneMenu id="memDepCode" styleClass="inputfont" value="#{searchUserProfileBean.listboxValue}" onchange="getMemberDepInfo();">
在您的信息页
中 /**
* Convert RGB to XY
*/
function RGBtoXY(red,green,blue){
red = (red > 0.04045) ? Math.pow((red + 0.055) / (1.0 + 0.055), 2.4) : (red / 12.92);
green = (green > 0.04045) ? Math.pow((green + 0.055) / (1.0 + 0.055), 2.4) : (green / 12.92);
blue = (blue > 0.04045) ? Math.pow((blue + 0.055) / (1.0 + 0.055), 2.4) : (blue / 12.92);
var X = red * 0.664511 + green * 0.154324 + blue * 0.162028;
var Y = red * 0.283881 + green * 0.668433 + blue * 0.047685;
var Z = red * 0.000088 + green * 0.072310 + blue * 0.986039;
var fx = X / (X + Y + Z);
var fy = Y / (X + Y + Z);
return [fx.toPrecision(4),fy.toPrecision(4)];
}
现在您已绑定所选值。