2012-10-05 79 views

回答

1

直接 - 沒有。

您需要將java bean傳遞給客戶端(通常使用JSON完成),並通過HTTP請求(GET或優選POST)從客戶端獲取修改的bean。這就是AJAX(儘管AJAX可以用於任何服務器端執行環境,不管是否使用JVM)。

+0

啊所以唯一的辦法是通過servlet的! hummm thak you –

+0

@ berber5 servlets或jsps(實際上,jsps在執行前被編譯爲servlet,所以這兩個選項在技術上是等效的)。雖然,如果你堅持正確的MVC,就像你應該做的那樣,AJAX交互的動態內容必須通過servlet提供給客戶端和後端服務器。 –

+0

我已經使用了第一個選項(servlets) ,但使用jsps我知道它的工作原理 –

1

您可以使用像DWR這樣的ajax庫,這樣您就可以從JavaScript代碼訪問服務器端的Java對象。

Here你能找到簡單的例子如何做基本的遠程

+0

感謝您的回覆! –

1

如果你使用像Primefaces現代JSF框架,你可以使用內置的命令成分,如<p:remoteCommand>

http://www.primefaces.org/showcase/ui/ajax/remoteCommand.xhtml

例如

<h:form>  
<p:remoteCommand name="rc" update="msgs" actionListener="#{remoteCommandView.execute}" />  
<p:growl id="msgs" showDetail="true" />  
<p:commandButton type="button" onclick="rc()" value="Execute" icon="ui-icon-refresh" /> 
</h:form> 

...其中rc()是您用來訪問remoteCommandView Bean方法execute JavaScript方法名稱。

例如

<div onclick="rc()">Clicking Here Calls remoteCommandView.execute</div> 

<script> 
function something(){ 
rc(); 
} 
</script>