所以是这样的。
MyMb:
@Named("MyMb")
@SessionScoped
public class MySuperCoolMb implements Serializable {
//Tons of attributes
private List<ListModelOne> lmo = new ArrayList();
//Tons of methods
}
Outter型号:
public class ListModelOne {
private coolObject object;
private List<ReadWrite> permissions;
//init()
//setters-getters
}
内部模型,这是需要直接绑定到屏幕上的选择项的模型
public class ReadWrite {
private String accessItem;
private boolean read = false;
private boolean write = false;
//Somewhere in my code i change this from true/false depending
//what i need and they do change in title in xhtml.
//setters-getters
}
和我的xhtml:
<h3>Cool Title</h3>
<p:accordionPanel value="#{MyMb.lmo}" var="modelOne">
<p:tab title="#{modelOne.coolObject.ObjectName}">
<h3>Cool Inner Title</h3>
<ui:repeat value="#{modelOne.permissions}" var="readWrite">
<h:panelGrid>
<h:outputText value="#{readWrite.accessItem}"/>
<!-- selectManyCheckbox has no value attribute because i don't need/have a list/collection to bind it -->
<p:selectManyCheckbox>
<f:selectItem itemLabel="Read" itemValue="#{readWrite.read}" title="This is set to #{readWrite.read}"/>
<f:selectItem itemLabel="Write" itemValue="#{readWrite.write}" title="This is set to #{readWrite.write}"/>
</p:selectManyCheckbox>
</h:panelGrid>
</ui:repeat>
</p:tab>
</p:accordionPanel>
除了复选框(selectItem)之外,一切都正常,它们可以直接绑定到类的属性并忽略p的值:selectManyCheckBox吗?java上的一切都很好,我已经调试过了,值是正确的,它们甚至在f:selectItem的“title”属性上打印OK(有些是真的,有些是假的)
PS:我也不明白ItemLabel,label,ItemValue,Value之间的区别
itemtag和ItemValue的区别在于itemtag是显示的标签,ItemValue是给定选择的值
对使用两个<代码>
否则我会提出这样的代码:
<h:panelGrid>
<h:outputText value="#{readWrite.accessItem}"/>
<p:selectBooleanCheckbox value="Read" itemLabel="#{readWrite.read}" />
<p:selectBooleanCheckbox value="Write" itemLabel="#{readWrite.write}" />
</h:panelGrid>
看看这个:http://www.primefaces.org/showcase/ui/input/booleanCheckbox.xhtml
如果您想动态生成selectOptions(如复选框或下拉菜单中的选项等),则使用ItemValue和ItemLabel。示例:
// Java-class...
@Named(
public enum SelectOption(){
Max, Oliver, John;
}
// In bean...
private List<SelectOption> fornames; // with setter & getter
// In xhtml...
<p:selectManyCheckbox value="#{bean.fornames}">
<f:selectItems value="#{bean.fornames.values()}" var="forname"
itemValue="#{forname}" itemLabel="#{forname.toString()}" />
</p:selectManyCheckbox>
解释:bean中的List将获取所有选定的项目。f: selectItems
-tag从枚举中获取所有可能的选项(您可以交出任何集合),并遍历集合中的每个“forname”对象。在这种情况下,itemValue表示自己,因为我们有一个要保存它的对象列表,对于标签,我们调用toString-Method。
我希望这是可以理解的解释。
如何将MVVM值绑定到dropdownlist?下面的输入元素运行良好
我有一个如上所述的下拉列表,并希望将所选值绑定到模型的字段(类型为) 但是,无论我选择哪个项目,字段始终为空!它甚至不是可空类型
本文向大家介绍Laravel 将接口绑定到实现,包括了Laravel 将接口绑定到实现的使用技巧和注意事项,需要的朋友参考一下 示例 在服务提供者register方法中,我们可以将接口绑定到实现: 从现在开始,每次应用程序需要的实例时UserRepositoryInterface,Laravel都会自动注入的新实例EloquentUserRepository:
是否有可能强制XJC不生成映射到键值对转换列表? 当我接受Jaxb注释类时
我有一个Spring Boot服务,它为POST请求正文使用自定义POJO类。当客户端将其中一个字段传递为null时,我希望该值设置为0。 由以下控制器使用: Spring boot将为我处理从JSON到的数据绑定,但是每当作为null传递时,我希望它保留0。有没有正确的方法来做到这一点,或者我必须自己解析类并设置值?目前,如果客户端在其请求JSON中没有传递此字段,它将保留默认值,但是,我希望即
问题内容: 我有这样的输入 我想动态更改输入值,所以我可以使用它,但它不会更改值: 问题答案: 您根本不需要设置该值。ng-model负责: 设置模型的输入值 更改输入时更新模型值 从js更改模型时更新输入值 这是这个的小提琴:http : //jsfiddle.net/terebentina/9mFpp/