是否有可能从javascript函数获取java对象属性。如何从javaScript函数访问javaBean attribus?
实施例通过使用EL语言:
function jsFunction(){
var name = #{myBean.name};
}
是否有可能从javascript函数获取java对象属性。如何从javaScript函数访问javaBean attribus?
实施例通过使用EL语言:
function jsFunction(){
var name = #{myBean.name};
}
直接 - 没有。
您需要将java bean传递给客户端(通常使用JSON完成),并通过HTTP请求(GET
或优选POST
)从客户端获取修改的bean。这就是AJAX(尽管AJAX可以用于任何服务器端执行环境,不管是否使用JVM)。
啊所以唯一的办法是通过servlet的! hummm thak you –
@ berber5 servlets或jsps(实际上,jsps在执行前被编译为servlet,所以这两个选项在技术上是等效的)。虽然,如果你坚持正确的MVC,就像你应该做的那样,AJAX交互的动态内容必须通过servlet提供给客户端和后端服务器。 –
我已经使用了第一个选项(servlets) ,但使用jsps我知道它的工作原理 –
如果你使用像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>
JavaScript是客户端,所以我认为这是行不通的 –