在JSF 2错误与Ajax调用,更新部分基于请求参数 [英] Error in JSF 2 with Ajax call to update parts based on request parameters
本文介绍了在JSF 2错误与Ajax调用,更新部分基于请求参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是很新的 JSF 2.我想用渲染组件阿贾克斯取决于其复选框用户选择。例如,检查箱1,箱体2和箱3。
I'm quite new to JSF 2. I'm trying to render a component using Ajax depending on which checkbox the users choose. For example, check box 1, box 2, and box 3.
每当我选择一个复选框,我有一些错误。
I'm having some errors whenever I choose a checkbox.
错误消息:
serverError: class javax.faces.component.UpdateModelException/ajaxcall.xhtml@27,
54 value="#{bean.panels}": Property 'panels' not writable on type java.util.List
下面是我的XHTML code。
Below is my XHTML code.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
>
<h:head><title>JSF 2.0: Blank Starting-Point Project</title>
</h:head>
<h:body>
<h:panelGroup id="panels">
<h:panelGroup rendered="#{bean.panels.contains('u1')}">
panel one
</h:panelGroup>
<h:panelGroup rendered="#{bean.panels.contains('u2')}">
panel two
</h:panelGroup>
<h:panelGroup rendered="#{bean.panels.contains('u3')}">
panel three
</h:panelGroup>
</h:panelGroup>
<h:form>
<h:selectManyCheckbox value="#{bean.panels}">
<f:selectItem itemValue="u1" />
<f:selectItem itemValue="u2" />
<f:selectItem itemValue="u3" />
<f:ajax render=":panels" />
</h:selectManyCheckbox>
</h:form>
</h:body>
</html>
这是我的bean:
package somePackage;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean
@RequestScoped
public class Bean {
private List<String> panels = new ArrayList<String>();
public List<String> getPanels() {
return panels;
}
}
我缺少的东西?
Am I missing something?
推荐答案
该错误是有点误导,但你需要一个二传手也是如此。
The error is a bit misleading, but you need a setter as well.
public void setPanels(List<String> panels) {
this.panels = panels;
}
这篇关于在JSF 2错误与Ajax调用,更新部分基于请求参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文