如何将隐藏字段值从html页面传递到GWT页面?两个页面在不同的应用程序

时间:2011-05-20 10:50:06

标签: java javascript html gwt servlets

如何将隐藏字段值从一个应用程序(html)页面传递到GWT页面?在目的地访问它们,即GWT PAGE,这两个页面都在不同的应用程序中

我的html页面包含隐藏的字段值。我想将隐藏的字段值传输到位于http://localhost:8080/gwtApp的另一个页面(GWT页面),以便GWT页面可以访问该隐藏字段。

描述:隐藏字段存在于html页面中,当我点击“发送”按钮然后页面被重定向到不同的应用程序(GWT应用程序:http://localhost:8080/gwtApp)。致电GWT应用程序。现在我想访问第一个html页面中的隐藏字段。

我尝试DOM.getElementById("myID")).getValue()并获得Unable to get hidden field

我陷入了这个问题。

  • 这些页面之间需要访问隐藏字段的任何servlet?

  • 有没有办法从父页面(html)访问子页面(GWT页面)中的隐藏字段?

  • html和GWT页面(基本上是html)之间是否有任何关系?亲子?

对此事项的任何帮助或指导将不胜感激。

3 个答案:

答案 0 :(得分:1)

只需将html第1页中的隐藏字段发送到服务器servlet,并以一些JSONP格式包装此隐藏字段,并将此JSONP格式化字符串发送到html page2,并根据JSONP中定义的函数在html page2上实现JSONP

答案 1 :(得分:0)

隐藏字段用于html表单,并且在提交给服务器时将其值添加到POST请求中。

因此,您的page1可以有一个带有隐藏字段的表单,该字段可以POST到server2。然后,Server2将能够通过自定义html属性,cookie或任何其他方式将此“隐藏”数据发送到浏览器。

请注意,所有这些数据都是纯文本,用户可以看到 - 用户可以看到从服务器发送到浏览器的所有数据。没有办法解决它。

答案 2 :(得分:0)

使用iframe我们可以解决这个问题

1]使用iframe在源html文件中添加目标html文件。

<FORM name='formName' method='post' action='YourServlet'>    
<input id="hiddenId" type=hidden    name="hiddenId" value="">
<IFRAME  id="iframeId" name="desthtml"  src="http://localhost:8080/gwtApp/GWTRedirect.html" 
 width="100%" height="100%" style="padding-top: 10px" 
 frameborder="0" scrolling="no">                     
</IFRAME>
<FORM >

2]在你的servlet中使用

读取你的html
org.enhydra.xml.xmlc.XMLObjectImpl doc = getXmlcPage(String htmlFileName);
Element hiddenElement = doc.getElementById("hiddenId");
        hiddenElement.setAttribute("value",1234));

3]使用

访问GWTRedirect.html上的隐藏字段
<INPUT TYPE='hidden' value='' id='hiddenId' name='hiddenId'> 
<SCRIPT type="text/javascript" language="javascript">
document.getElementById("hiddenId").value =  window.parent.document.getElementById("hiddenId");
</SCRIPT>