什麼是正確的方式來從一個方法在託管bean返回一個值,指示成功SQL
DML
操作如INSERT
或UPDATE
JSF模態顯示文本,如果INSERT操作成功
基於教程和一些博客我看了網上,它說,從包含在ManagedBean
方法返回值一個很好的做法是facelet
的String
值或.xhtml
頁面 (換句話說,一個視圖)重定向到一個網頁。
像這樣。
原始版本:
@ManagedBean(name="myBean")
public class MyBean{
public String register(){
String SQL = "INSERT INTO myTable(col1,col2) VALUES(?,?);
PreparedStatement ps = connection.prepareStatement(SQL);
ps.setString(1,someStringVariable1);
ps.setString(2,someStringVariable2);
ps.executeUpdate();
return "index"; //pointing to index.xhtml
}
}
怎麼樣,如果我想知道,如果executeUpdate()
方法是成功的?
我想我只是將其更改爲類似
修改版本:
public int register(){
int isSuccessful = 0;
try{
String SQL = "INSERT INTO myTable(col1,col2) VALUES(?,?);
PreparedStatement ps = connection.prepareStatement(SQL);
ps.setString(1,someStringVariable1);
ps.setString(2,someStringVariable2);
isSuccessful = ps.executeUpdate();
}
return isSuccessful;
}
然而,在修改後的版本,我返回int
,我沒有看到的是正確的每如何JSF
應該ManagedBean
工作(請糾正我,如果我錯了)
我問因爲說我有一個Twitter Bootstrapmodal
它具有以下內容。
<div class="modal-body">
<h:form>
//....some code here...
<h:commandButton value="Submit" action=#{myBean.register()}
<h:outputText value=" #{myBean.whatToPutHere_ToKnowIf_addData()wasSuccessful}" />
</h:form>
</div>
我需要能夠內modal
div
表明register()
執行成功。
什麼是最簡單和最正確的方法來實現呢?
我在某處讀到AJAX
會幫助,但現在我對AJAX
知之甚少,所以也許一個簡單的解決方案就更好了。
我很感激任何幫助。
謝謝。
Ajax是 '簡單' 開始學習吧... – Kukeltje