Javascript and Java Communication
Javascript and Java Communication
我正在使用ADF
技术构建应用程序,Jdeveloper 11.1.2.3
作为IDE。在一些jspx
页面的应用程序中,我有<OBJECT>
标签,用户可以在其中插入特殊类型的输入(数字签名)。该标签数据可通过Javascript
功能在jspx
页面中访问。问题是:如何通过Java类BackingBean
(NOT Servlet
)访问Javascript
函数中定义的变量(保存数字签名数据)
这是<OBJECT>
标记和调用Javascript
函数的按钮:注意:我确信Javascript
保存了所需的数据(数字签名对象),这不是我拥有的所有功能。
<OBJECT classid="clsid:69A40DA3-4D42-11D0-86B0-0000C025864A" height="75" border="2" id="SigPlus1"
name="SigPlus1" style="HEIGHT: 180px; WIDTH: 320px; LEFT: 0px; TOP: 0px;">
<param name="_Version" value="131095"/>
<param name="_ExtentX" value="4842"/>
<param name="_ExtentY" value="1323"/>
<param name="_StockProps" value="0"/>
</OBJECT>
<INPUT id="submit1" name="Save" type="submit" value="Save" onclick="OnSave()"/>
我尝试了以下方法,但不起作用:
我在页面中添加了一个类似的隐藏文件,并将hidden input
的value属性绑定到java BackingBean
中的一个属性,如下所示:
<input type="hidden" id="passSignToBean" value="${SRdetailsBean.sigObj}"/>
这是Javascript
函数,它将更改输入字段值:
function OnSave() {
document.forms[0].SigPlus1.TabletState = 0; //Turns tablet off
document.forms[0].SigPlus1.SigCompressionMode = 2; //Compresses the signature at a 2.5 to 1 ratio, making it smaller...to display the signature again later, you WILL HAVE TO set the SigCompressionMode of the new SigPlus object = 1, also
alert("Test 1");
document.getElementById('passSignToBean').value = document.forms[0].SigPlus1;
alert("Test 2");
}
我的想法是,当用户单击提交按钮时,将调用Javascript
函数OnSave()
并更改hidden input
标记的值。由于我将这个输入文件绑定到java BacknigBean
中的某个属性(我假设),因此应该更新bean中的属性以匹配hidden input
文件的新值。
重要提示:我没有使用HttpServlet
。我没有使用java applet
。
当我尝试这种方法时,当我尝试使用java BackingBean
属性时,我得到了NullPointerException
。
首先,您不应该混合HTML和ADF
如果需要通过javascript调用服务器端方法,则必须对服务器事件进行排队
请使用以下示例查看此文档:http://jdevadf.oracle.com/adf-richclient-demo/docs/tagdoc/af_serverListener.html
Basicaly,您生成服务器事件,并将您的变量作为参数传递给该事件。
还有如何从bean调用javascript方法:
FacesContext fctx = FacesContext.getCurrentInstance();
ExtendedRenderKitService service = Service.getRenderKitService(fctx, extendedRenderKitService.class);
service.addScript(fctx, "<any javascript to be invoked>");
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 借助asp.net验证或java脚本对多个文本进行验证
- java.net和javascript之间正则表达式的差异
- 如何从Java/scala调用js美化程序
- 如何使用json将对象列表从java转换为javascript
- Java脚本时间添加
- WebDriverException:tinyMCE未在selenium Web driver java中定义
- 如何将字符串值从php页面发送到java脚本页面
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- DOM事件通过JSON转换为java
- 在 Java 中的 JavaScript 函数中插入 Wicket 值
- JSON分析错误:Java中AJAX、Javascript和Servlet的意外EOF
- java脚本在Chrome和其他浏览器中对LocaleTimeString的不同行为
- 错误405:向Java控制器(Ajax)发送JSON时找不到POST方法
- Java-彩票统计解析器
- Apache Thrift Java-Javascript communication
- PHP, Java Applet communication
- Javascript and Java Communication
- Communication Java to NodeJS?