我处境岌岌可危!我有一个带有两个框架的html页面。
1. xmldiff.html
<html>
<head>
<title>XML Diff</title>
</head>
<form name="xmldiff" method="post">
<frameset rows="50%,50%">
<frame name="left" src="XML1.jsp">
<frame name="bottom" src="XML2.jsp">
</frameset>
</html>
2. XML1.jsp
<form name="xml1">
XML 1:<br />
<textarea name="xml1text" id="comments" style="width:100%;background-color:#D0F18F;" rows="50">
Text Area 1!
</textarea><br />
</form>
3. XML2.jsp
<script language="javascript" type="text/javascript">
function mysubmit()
{
document.xml3.text1.value=window.parent.left.xml1.xml1text.value;
}
</script>
<form name="xml2" action="/servlet/XMLDiffServlet" method="post" onSubmit="mysubmit()>
Difference:<br />
<textarea name="result" id="comments" style="width:100%;background-color:#D0F18F;" rows="22">${result}</textarea>
<br />
<input type="submit" value="Submit"/>
<input type="hidden" name="text1" value="hello" />
</form>
在servlet XMLDiffServlet中,我试图通过以下代码检索隐藏按钮text1的值 -
public void doPost(HttpServletRequest req, HttpServletResponse resp)
{
String origXML=req.getParameter("text1");
req.setAttribute("result",origXML);
String nextJSP = "/XML2.jsp";
RequestDispatcher rd = getServletContext().getRequestDispatcher(nextJSP);
rd.forward(req, resp);
}
所以基本上我只是尝试传递隐藏按钮的值并尝试在结果textarea中显示它。如果我使用XML2.jsp,我无法将值传递给servlet,但我可以使用$ {result}从servlet中检索任何字符串。另一方面,如果我只是将XML2.jsp重命名为XML2.html(不更改任何代码),我可以将隐藏按钮的值传递给servlet,但无法从中检索。
那么如何使用jsp来满足两个目的 - 都传递值并检索?为什么request.getParameter是从html而不是jsp?有很多例子可以解决这个问题,但为什么不在这里呢?我也在提交按钮中创建了onClick调用,但那些东西也没有用。我真的很困惑 - 你能帮帮我吗?
由于 Nirmalya
答案 0 :(得分:-1)
你应该像onSubmit一样使用
function mysubmit()
{
document.xml3.text1.value=window.parent.left.xml1.xml1text.value;
return true;
}
并以表格
<form name="xml2" action="/servlet/XMLDiffServlet" method="post" onSubmit="return mysubmit()">