2012-12-15 108 views
0

我對JSF和Hibernate非常陌生,發現了一些教程,我幾乎可以理解所有東西,但有一些非常簡單的東西我還不明白,我自己也不知道如何去做;如何將outputtext值保存到對象然後再保存到數據庫?

1.This is my html page

<h:panelGrid columns="2"> 
    <h:outputLabel value="Title:"/> 
    <h:inputText value='#{Activity.title}' /> 
</h:panelGrid> 

2.This is my save method at activityController

public void saveActivity(String title){ 
    Session session = HibernateUtil.getSessionFactory().openSession(); 
    Transaction transaction = null; 

    try { 
     transaction = session.beginTransaction(); 
     Activity activity = new Activity(title); 
     session.save(activity); 
     transaction.commit(); 
    } catch (HibernateException e) { 
     transaction.rollback(); 
    }finally{ 
     session.close(); 
    } 
} 

我的疑問是:我如何在HTML頁面的什麼的outputText我的用戶類型,並將其發送到我的saveActivity方法?

+0

這個問題很廣泛,不清楚你對JSF有什麼瞭解/你不瞭解什麼。你可以發佈**整個** xhtml(好吧,不是所有的領域,但結構)。 – SJuan76

+0

對不起@ SJuan76,我試圖讓它簡單易讀。我認爲不需要代碼,粗體問題非常簡單。我只是不知道我可以在#{}中調用方法。 –

回答

2

你需要一個表格和提交按鈕:

<h:form> 
<h:panelGrid columns="2"> 
    <h:outputLabel value="Title:"/> 
    <h:inputText value='#{activityBean.title}' /> 
</h:panelGrid> 
<h:commandButton action="#{activityBean.saveActivity()}" value="Save" /> 
</h:form> 

然後,要麼使你的控制器,帶有註釋的託管Bean @SessionScoped @ManagedBean(name =「activityBean」)或使用類吧並給你的控制器一個參考。

祝你好運:)

+0

範圍可以是任何(從「請求」到「應用程序」)或者根本沒有指定(默認爲「請求」)。無論如何+1因爲意圖是好的,我認爲它回答了這個問題(儘管我仍然認爲OP描述過於模糊),因爲歡迎來到SO。 – SJuan76

+0

嗯,我不知道我可以在「#{}」中調用方法。所以是的,它回答了我的問題。謝謝! :) –

相關問題