1
我有一个CRUD,我想改变inputTexArea:Primefaces芯片Web组件
<p:inputTextarea id="tags" value="#{myController.selected.tags}" />
要将新Primefaces 芯片组件:
<p:chips id="tags" value="#{myController.selected.tags}" />
实体类摘录:
@Lob
@Size(max = 2147483647)
@Column(name = "tags")
private String tags;
//GETTER AND SETTER OMITTED
该得到方法工作得很好,因为标签会显示在该领域预期:
public List<String> getTags() {
return Arrays.asList(tags.split(","));
}
但设置方法并非如此,因为当我点击保存,出现异常:
public void setTags(List<String> tags) {
this.tags = String.join(",", tags);
}
java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.lang.CharSequence
at org.hibernate.validator.internal.constraintvalidators.SizeValidatorForCharSequence.isValid(SizeValidatorForCharSequence.java:33)
at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.validateSingleConstraint(ConstraintTree.java:281)
有人能帮助我吗 ?
在此先感谢。
的'getTags()'工作正常,但我使用的Java 7,没有'字符串.join(“someChar”,someArray)'方法可用。我尝试了'this.tags =(“,”+ tags)',但得到了相同的结果'调用setTags(List tags)'时,java.util.ArrayList不能转换为java.lang.CharSequence'异常。请,我该如何解决它? –
jMarcel
我也尝试用Java 8使用String.join(“,”,tags)',但得到了同样的异常。请有人提供一个提示吗? – jMarcel