JAVA ::无法从SETONCHANGE()调用JAVA方法

时间:2014-03-04 10:46:05

标签: java javascript jsf

我使用了java和jsf。 我在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。 如果用户从下拉列表中选择任何值,我想调用change java方法。 此功能也将相同的选定下拉值应用于其他记录。

3 个答案:

答案 0 :(得分:0)

我认为,onchange是指JavaScript事件,因此当您想要注册Java代码时,您应该添加一个值更改侦听器并在那里调用Java代码。

答案 1 :(得分:0)

呈现的HTML在客户端上呈现,需要其他方式与服务器通信。 通常你有一些JSF框架,通过在下面使用JS和REST调用将服务器代码与客户端HTML链接起来。因此,您始终可以在客户端调用JS,但是对于服务器调用,您需要从客户端进行一些解释。

看看像Primefaces这样的JSF框架,可以帮助你解决这个问题。

答案 2 :(得分:0)

验证方法名称和调用者是否:setOnchange或setOnChange(C capital)