Привязать inputRichText к бину
Я пытаюсь связать xp: inputRichText с компонентом (ChatBean), но получаю эту ошибку проверки, когда код пытается обновить поле до компонента:
java.lang.IllegalArgumentException: argument type mismatch
Я пробовал несколько разных вещей, таких как конвертеры, чтобы убедиться, что текст будет строкой, печатал отладочные сообщения, чтобы выяснить, где что-то пошло не так, изменил тип & quot; setChatContent () & quot; метод (который устанавливает ввод только для чтения), но не может заставить его работать.
Я что-то упустил или это невозможно? Какие-нибудь мысли?
Страница:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:messages id="messages1"></xp:messages>
<xp:inputRichText id="inputRichText1" value="#{Chat.chatContent}"></xp:inputRichText>
<xp:button value="Save" id="button1" type="button">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete" save="false">
<xp:this.action>
<xp:actionGroup>
<xp:executeScript script="#{javascript:Chat.saveContent();}"></xp:executeScript>
<xp:openPage name="/chat.xsp"></xp:openPage>
</xp:actionGroup>
</xp:this.action>
</xp:eventHandler>
</xp:button>
Ошибка возникает после того, как я нажму кнопку "Сохранить" кнопка, вызывающая метод в компоненте Chat (код сокращен):
public class ChatBean implements Serializable {
private static final long serialVersionUID = 1L;
private String chatContent;
public String getChatContent() {
return chatContent;
}
public void setChatContent(String chatContent) {
this.chatContent = chatContent;
}
public void saveContent() {
// TODO implement save
this.chatContent = "";
}
}