一般,我们用
request.getparameter("value");
来获得静态html输入的值.然后不要忘记判断是否为空,是否含有特殊字符等.
还可以用
enumeration paramnames=request.getparameternames();
while(paramnames.hasmoreelements()){string paramname=(string)paramnames.nextelement();}
来收集<input type="text" name="name"/>中的name
但是我们每增加新的一行,参数名同上一行一样,那么,我们将如何获得value的值?
这里我又去看书(servlet 和 jsp 核心编程,极好的一本书,该讲的都讲了,读明白了它servlet/jsp也就可以说精通了)p70页里面:getparametervalues()返回字符串数组,然后我们用循环判断这个字符串数组的长度,再就是获得值了:)
request.getparameter("value");//这个最熟悉,获得文本框的值
(enumeration)request.getparameternames();//获得文本框的名字
(string[])request.getparametervalues(paramname);//获得静态html页相同的参数(多次出现)的值
*************html 页 javascript 代码:
<script language="javascript">
function tbladdrow()
{
var i=lines.rows.length;
var row = table1.insertrow(table1.rows.length);
var col = row.insertcell(0);
col.innerhtml = "<input id=line["+i+"][name1] name=line"+i+"name1 size=10>";
col = row.insertcell(1);
col.innerhtml = "<input id=line["+i+"][name2] name=line"+i+"name2 size=10>";
col = row.insertcell(2);
col.innerhtml = "<input id=line["+i+"][name3] name=line"+i+"name3 size=10>";
col = row.insertcell(3);
col.innerhtml = "<input id=line["+i+"][name4] name=line"+i+"name4 size=10>";
}
function tbladdrows(items)
{
for( i = 1 ; i <= items ; i++)
{
tbladdrow();
}
}
function delrow()
{
if(lines.rows.length==0)
{
return false ;
}
lines.deleterow();
}
</script>
****************html页其它代码:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=big5">
<title>??入</title>
</head>
<body>
<form action="getinput.jsp">
<div align=center><font size=2>??入?y??</font></div></td>
<td width=412 bgcolor=#e4e4e4>
<table id=table1 cellspacing=0 bordercolordark=#ffffff cellpadding=0
width=350 align=center bordercolorlight=#000000 border=1>
<tbody>
<tr bgcolor=#999999>
<th width=94><font size=2>???狄?</font></th>
<th width=84><font size=2>???刀?</font></th>
<th width=85><font size=2>???等?</font></th>
<th width=77><font size=2>???邓?</font></th></tr>
<tbody id=lines name="lines"><!--
<tr>
<td><input id="things_name" type="text" name="things_name" size="15"></td>
<td><input id="things_model" type="text" name="things_model" size="10"></td>
<td><input id="things_number" type="text" name="things_number" size="5"></td>
<td><input id="things_unit" type="text" name="things_unit" size="5"></td>
</tr>
--></tbody></table>
<div align=center><br></div>
<div align=center>
<input id=items type=hidden value=1 name=items> <input onclick=tbladdrow(items.value);
type=button value=新增一行 name=insert/>
<font color="#e4e4e4"> </font>
<input language=javascript onclick="return delrow()" type=button value=?h除一行 name=del/>
</div></td></tr></tbody></table>
<input type="submit" value="commit"/>
</form>
</body>
</html>
***jsp页收集输入
<%@ page contenttype="text/html;charset=big5"%>
<%@ page import="java.util.*"%>
<%
request.setcharacterencoding("big5");
enumeration paramnames=request.getparameternames();
string paramname=null;
while(paramnames.hasmoreelements()){
paramname=(string)paramnames.nextelement();
string param=request.getparameter(paramname);
//out.println(paramname+" "+param+"<br>");
string paramvalues[]=request.getparametervalues(paramname);
for(int i=0; i<=paramvalues.length-1; i++)
{
out.println(paramname+" ");
out.println(paramvalues[i]+"<br>");}
}
//out.println("<br>"+name);
%>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=big5">
<title>接受??入</title>
</head>
<body>
</body>
</html>
闽公网安备 35060202000074号