我使用豐富:suggestionbox。JSF實體轉換錯誤:豐富suggestionbox轉換錯誤設定值「*」爲「空轉換器」
- 選擇從意見箱
- 的建議,然後保存我的形式
- 它提出了驗證錯誤說
rich suggestionbox Conversion Error setting value '568-UNIMED-2005' for 'null Converter'
。
我需要
- 什麼是錯我的代碼的幫助嗎?
- 如何解決這個問題?
這裏是我的LcInfo
豆
@AutoCreate
@Scope(ScopeType.CONVERSATION)
@Name("lcInfo")
@Entity
@Table(name="lc_info")
public class LcInfo implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private ItemIndentMast itemIndentMastBean;
public LcInfo() {
}
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(unique=true, nullable=false)
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
//bi-directional many-to-one association to ItemIndentMast
@ManyToOne
@JoinColumn(name="item_indent_mast", nullable=false)
public ItemIndentMast getItemIndentMastBean() {
return this.itemIndentMastBean;
}
public void setItemIndentMastBean(ItemIndentMast itemIndentMastBean) {
this.itemIndentMastBean = itemIndentMastBean;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + id;
return result;
}
@Override
public boolean equals(Object object) {
if (this == object) return true;
if (object == null) return false;
if (getClass() != object.getClass()) return false;
LcInfo other = (LcInfo) object;
return id.equals(other.id);
}
}
這裏是我的XHTML源與豐富:suggestionbox。
<h:inputText value="#{lcInfo.itemIndentMastBean}" id="itemIndentMastBean" required="true"/>
<rich:suggestionbox for="itemIndentMastBean"
suggestionAction="#{lcInfoController.suggestion}"
var="result"
fetchValue="#{result}"
minChars="3"
nothingLabel="No capitals found" >
<f:facet name="header">
<h:outputText value="Select Indent Number" style="font-size: 10px; padding-left: 5px"/>
</f:facet>
<h:column>
<h:outputText value="#{result}" />
</h:column>
</rich:suggestionbox>
這裏是控制器代碼是如何建議從控制器加載
@Name("lcInfoController")
@Scope(ScopeType.CONVERSATION)
@AutoCreate
public class LcInfoController {
public List<ItemIndentMast> suggestion(Object query) {
String queryText = query.toString();
if(StringUtils.isBlank(queryText) || queryText.length() < 3) {
return Collections.emptyList();
}
return itemIndentMastService.filterIndent(queryText+"%");
}
}
「JSF不知道如何顯示ItemIndentMast豆」是什麼你的意思是?如果你請解釋更多,會很高興。 – Kowser
JSF獲取字符串中的並試圖將其轉換爲一個itemIndentMastBean對象,但這樣它失敗itemIndentMastBean不是字符串。一個的必須連接到字符串,如果你想TOT其附加到一個對象,你必須從輸入字符串轉換爲對象 –
自定義轉換器聽起來像一個不錯的選擇。當我有機會時,我會嘗試,並讓你知道。 – Kowser