2014-03-04 52 views
-2

我用java和jsf。 我在java文件中创建了动态数据表。 我可以从setOnchange()事件调用java方法吗?JAVA ::不能从SETONCHANGE调用JAVA方法()

我可以从setOnchange()事件调用java脚本函数。 请参阅下面的代码,它适用于java脚本。

HtmlSelectOneMenu selectOneMenu = new HtmlSelectOneMenu(); 
selectOneMenu.setStyleClass("dropdownStyleTwo"); 
selectOneMenu.setOnchange("openWin(this);IGNORE_UNLOAD=false"); 

我在java脚本中写了openwin()函数。

但我无法调用java方法change()。 代码不工作。

HtmlSelectOneMenu selectOneMenu = new HtmlSelectOneMenu(); 
selectOneMenu.setStyleClass("dropdownStyleTwo"); 
selectOneMenu.setOnchange("myclass.change();IGNORE_UNLOAD=false"); 

myclass是类Test的bean。 如果用户从下拉列表中选择任何值,我想调用更改java方法。 此功能也会将相同的选定下拉值应用于其他记录。

回答

0

我认为,onchange引用JavaScript事件,所以当你想注册Java代码时,你应该添加一个值更改监听器并在那里调用Java代码。

+0

感谢您的reply.but我收到此错误类型UIInput的方法setValueChangeListener(的MethodBinding)不适用于参数(字符串).selectMenu.setValueChangeListener( “myclass.change”); – user3232437

0

呈现HTML呈现在客户端上,并需要额外的手段与服务器通信。 通常你有一些JSF框架,它通过在下面使用JS和REST调用将你的服务器代码与客户端HTML链接起来。所以你可以随时在你的客户端调用JS,但是对于服务器调用你需要客户端的一些解释。

看看JSF框架,如Primefaces,可以帮助你。

0

验证,如果方法名称和来电是:setOnchange或setOnChange(C资本)