0

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

使用 EL 语言的示例:

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

3 回答 3

1

直接——不。

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

于 2012-10-05T13:13:37.413 回答
1

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

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

于 2012-10-05T13:18:42.630 回答
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()您用来访问remoteCommandViewbean 方法的 javascript 方法名称在哪里execute

例如

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

或者

<script>
function something(){ 
rc(); 
}
</script>
于 2015-04-10T05:46:03.843 回答