Hello everybody!
I just start learning servlet with eclipse and I have stuck on frameset.
I have 3 frames :
===Frame.jsp===
Code:
<%@ page language="java" contentType="text/html; charset=windows-31j"
pageEncoding="windows-31j"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.io.PrintWriter" %>
<%@ page import="javax.servlet.http.HttpServletRequest" %>
<%@ page import="javax.servlet.http.HttpServletResponse" %>
<%@ page import="javax.servlet.http.HttpServlet" %>
<%@ page import="java.util.*" %>
<%@ page import="javax.servlet.*" %>
<%@ page import="javax.servlet.http.*" %>
<%@ page import="java.io.*" %>
<%@ page import="javax.servlet.http.HttpSession" %>
<%@ page import="StudyC.HTMLFilter"%>
</head>
<frameset rows="25%,75%">
<frame src="HelloINPUT.jsp" NAME = "HelloINPUT" noresize ="noresize">
<frame src="HelloOUTPUT.jsp" NAME = "HelloOUTPUT" >
</frameset>
<noframes>
<body>
EMPTY!
</body>
</noframes>
</html>
===HelloINPUT.jsp===
Code:
<%@ page language="java" contentType="text/html; charset=windows-31j"
pageEncoding="windows-31j"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.io.PrintWriter" %>
<%@ page import="javax.servlet.http.HttpServletRequest" %>
<%@ page import="javax.servlet.http.HttpServletResponse" %>
<%@ page import="javax.servlet.http.HttpServlet" %>
<%@ page import="java.util.*" %>
<%@ page import="javax.servlet.*" %>
<%@ page import="javax.servlet.http.*" %>
<%@ page import="java.io.*" %>
<%@ page import="javax.servlet.http.HttpSession" %>
<%@ page import="StudyC.HTMLFilter"%>
</head>
<body>
<center><b>INPUT</b></center>
<script language="JavaScript" type="text/javascript">
function validateForm() {
var x = document.forms['myForm']['uname'].value;
if (x == '') {
alert('空です');
return false;
}
}
function SetSelectedValue()
{
var selectedValue = validateForm();
window.parent.HelloOUTPUT.frmSubmit.txtTest.value = selectedValue;
}
</script>
</head>
<body>
<form name='myForm'
onsubmit='SetSelectedValue()' target = "HelloOUTPUT" method='post'>
<input type='text' name='uname'>
<input type='submit' value='Click!'>
</form>
<%
String uname = request.getParameter("uname");
if (uname == null) {
uname = "";
}
@SuppressWarnings("unchecked")
ArrayList<String> dataList = (ArrayList<String>)session.getAttribute("PreviousItems");
if( dataList == null ) {
dataList = new ArrayList<String>();
session.setAttribute("PreviousItems", dataList);
}
dataList.add(uname);
if(dataList.isEmpty()) {
out.print("<br>");
} else{
dataList.removeAll(Arrays.asList("null",""));
if(dataList.isEmpty()) {
out.print("<br>");
} else{
int i = 0;
do{
out.print(HTMLFilter.filter(dataList.get(i)) + "<br>");
i++;
}
while(i<dataList.size());
}
}
%>
</body>
</html>
===C18_HelloOUTPUT.jsp===
Code:
<%@ page language="java" contentType="text/html; charset=Windows-31j"
pageEncoding="Windows-31j"%>
<html>
<head>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.io.PrintWriter" %>
<%@ page import="javax.servlet.http.HttpServletRequest" %>
<%@ page import="javax.servlet.http.HttpServletResponse" %>
<%@ page import="javax.servlet.http.HttpServlet" %>
<%@ page import="java.util.*" %>
<%@ page import="javax.servlet.*" %>
<%@ page import="javax.servlet.http.*" %>
<%@ page import="java.io.*" %>
<%@ page import="javax.servlet.http.HttpSession" %>
<%@ page import="StudyC.HTMLFilter"%>
<%
out.println("<center><b>OUTPUT</b></center>");
%>
</head>
<body>
</body>
</html>
Is there any other ways to get value from other frame with input type = submit?
Or should I change the input type?
Thank you!