2012-10-05 80 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>