如何从javaScript函数访问java Bean属性?

时间:2012-10-05 13:10:06

标签: java javascript

是否可以从javascript函数获取java对象属性。

使用EL语言的示例:

function jsFunction(){
    var name = #{myBean.name};
}

3 个答案:

答案 0 :(得分:1)

直接 - 没有。

您需要将java bean传递给客户端(通常使用JSON完成)并通过HTTP请求(GET或最好POST)从客户端返回修改后的bean。这就是AJAX(尽管AJAX可以与任何服务器端执行环境一起使用,JVM与否)。

答案 1 :(得分:1)

您可以使用像DWR这样的ajax库,这样您就可以从JavaScript代码访问服务器端Java对象。

Here您可以找到如何进行基本远程处理的简单示例

答案 2 :(得分:1)

如果使用像Primefaces这样的现代JSF框架,则可以使用内置命令组件,例如<p:remoteCommand>

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

e.g。

<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方法名称。

e.g。

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

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