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