我有一个值列表和一个列表中每个值的文本框。用户将在任何文本框中输入值。我想将该值传递给servlet ..我不知道该怎么做..
考虑一个列表有10个名字..
<form action="servlet1" method="post">
<%List names = new ArrayList();
for(int i=0; i<names.size();i++)
{
out.println(names.get(i));%> <input type="text" name="text1">
<input type="submit" value="uvalue">
<%} %>
</form>
如果用户在文本框中输入值,我如何将names.get(i)值传递给用户输入值的servlet ...
答案 0 :(得分:0)
您必须再添加一个隐藏的字段。将named.get(i)的值设置为该元素,如
for(int i=0; i<names.size();i++)
{
out.println(names.get(i));%> <input type="text" name="text1">
<input type="hidden" name="names<%=i%>" value="<%=names.get(i) %>">
<input type="submit" value="uvalue">
<%} %>
在servlet中使用相同的循环获取名称{0..names.size legth}的值,例如names0,names1,names2 ... names(names.size)。 request.getParameter("names0")
答案 1 :(得分:0)
您可以使用下拉列表作为names
列表和一个文本框进行输入,并可以使用一种形式完成工作。
此处,用户可以从下拉列表中选择名称,并在文本框中输入其值,然后可以提交表单。
在Servlet中,取两个值,即
以下是一个参考演示:
<form action="servlet1" method="post">
<select name="selective_name">
<%
List names = new ArrayList();
for(int i=0; i<names.size();i++)
{
out.println("<option value="+names.get(i)+">"+names.get(i)+"</option>");
}
%>
</select>
<input type="text" name="text1">
<input type="submit" value="uvalue">
</form>
希望它有所帮助。
答案 2 :(得分:0)
您可以使用request.getParameterValues(form_field_name)
获取所有文本框值,该String[]
会返回names.get(i)
个值,如果您还想将<form action="servlet1" method="post">
<%List names = new ArrayList();
for(int i=0; i<names.size();i++) {
out.println(names.get(i));
%>
<input type="text" name="textvalues">
<input type="hidden" name="namevalues" value="<%=names.get(i)%>">
<%} %>
<input type="submit" value="uvalue">
</form>
传递给服务器,我们可以使用隐藏字段那。
找到以下代码:
//to get the textbox values.
String[] textvalues = request.getParameterValues("textvalues");
// to get the name values.
String[] namevalues = request.getParameterValues("namevalues");
// index value to access the name values
int index = 0;
for (String textvalue: textvalues) {
System.out.println("name : "+namevalues[index]+" --> value : "+textvalue);
index++; // increment to get the next value.
}
从服务器端获取值:
List<string> mylist = new List<string>() { "1-Cat", "2-Dog", "3-Wolf", "4-Mouse" };
// My List Contains : 1-Cat , 2-Dog , 3-Wolf , 4-Mouse
string text = "";
text = mylist.FirstOrDefault(x => x.Contains('3')); // text will be 3-Wolf. In case there is no strings in the list that contains 3 text will be null.
// If you want do some other things if the list contains "3" you can do the following:
if (!string.IsNullOrEmpty(text))
{
// Do your stuff here
}
试一试....:)