我有一個inputtext
啓用<a4j:commandbutton>
其id=subjectButton
旁邊。當我填寫inputtext
並點擊按鈕時,disabled inputtext
顯示在第一個上面,顯示添加的內容。對於enabled inputtext
上的每個內容,都會在其上方顯示一個新的禁用內容。<a4j:commandbutton>沒有顯示其動作方法創建的<h:message>
當我點擊subjectButton
時,如果它被填充,上面的情況就會發生,但如果它是空的,我會在它旁邊出現一個<h:message>
,表示無法插入空主題。只有當我點擊按鈕時,該消息纔會出現。在下面的代碼,我試圖做到這一點,你看:
<a4j:outputPanel id="subjectPanel">
<br />
<h:outputText value="Subjects:"/>
<br />
<a4j:repeat value="#{insertDocController.moreSubjects}" var="bean">
<h:inputText id="inputSubject" value="#{bean.subject}" disabled="true"/>
<a4j:commandButton type="submit" action="#{insertDocController.removeSubject(bean.subject)}"
value="Remove" render="subjectPanel" execute="@this" />
</a4j:repeat>
<br />
<h:inputText id="inputSub" value="#{insertDocController.currentSubject}"/>
<a4j:commandButton id="subjectButton" value="Insert"
action="#{insertDocController.addSubject}"
render="subjectPanel inpuSubject subjectMessage"
execute="@this inputSub">
</a4j:commandButton>
<h:message for="inputSub" id="subjectMessage" style="color:red" />
<br />
</a4j:outputPanel>
這就是方法addSubject()呼籲從subjectButton
action屬性。該消息被設置在這裏:
public void addSubject() {
if((this.currentSubject == null) || (this.currentSubject.equals(""))) {
FacesContext ctx = FacesContext.getCurrentInstance();
FacesMessage msg = new FacesMessage("Empty input!");
ctx.addMessage("subjectMessage",msg);
System.out.println("MSG : " + msg.getSummary().toString());
} else {
SubjectBean subBean = new SubjectBean();
subBean.setSubject(this.currentSubject);
this.docController.getDocumentBean().getSubjectList().add(subBean);
this.currentSubject = "";
}
}
當我點擊按鈕,inputText的是空的,addSubject()
被調用,消息設置,因爲我做了測試裏面addSubject()
- (它在上面的代碼所示太) :
System.out.println("MSG : " + msg.getSummary().toString());
並且消息被打印在控制檯上。
有什麼問題?
謝謝!
什麼讓你使用的' '=需要TRUE''? –
mabi