📄 bean-parameter.jsp
字号:
<%@ page contentType="text/html;charset=GB2312" import="java.util.*"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<html>
<head>
<html:base/>
<title><bean:parameter></title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body bgcolor="white">
<h1><bean:parameter></h1>
<p><bean:parameter>标记用于读取HTTP请求中的参数。先看以下代码:</p>
<font class="CodeStyle">
<html:link page="/bean-parameter.jsp?testString=a+new+string&testInt=10000"><br>
点击此处添加请求参数<br>
</html:link><br>
</font>
<p>在上面的代码中,使用了<html:link>标记来向本页面发送请求,在请求后面跟上了两个参数testString和testInt。</p>
<p>以下是<bean:parameter>标记的代码示例:</p>
<font class="CodeStyle">
<bean:parameter id="test1" name="testString" value=""/><br>
请求参数testString的值为:<bean:write name="test1"/><br>
<br>
<bean:parameter id="test2" name="testInt" value=""/><br>
请求参数testInt的值为:<bean:write name="test2"/><br>
</font>
<p>上面的代码中用到了<bean:parameter>标记的三个属性。</p>
<p>name属性:用于指定页面请求中的参数名,如在上面的示例中,先后指定的请求参数名为testString和testInt。</p>
<p>id属性:在<bean:parameter>标记将name属性中所指定的请求参数取出后,保存在id属性所命名的变量中,这个变量
存放在pageContext内。</p>
<p>value属性:该属性指定请求参数的默认值。当HTTP请求中不包含name属性所指定的参数时,倘若不为该参数指定一个默认值,
则后台将报错。因此,通常情况下都应为请求参数指定一个默认值。在上例中为请求参数testString和testInt指定的默认值均
为一个空串。</p>
<p>以下是运行结果代码的运行结果。用户可以通过点击"添加参数"按钮来为本页面加入请求参数。在用户点击后,应该能看到
请求参数在页面上显示出来了,同时在地址栏上可以看到相应的请求参数。</p>
<html:link page="/bean-parameter.jsp?testString=this+is+a+test&testInt=10000">添加参数</html:link>
<br>
<p>
<bean:parameter id="test1" name="testString" value=""/>
请求参数testString的值为:<bean:write name="test1"/><br>
<bean:parameter id="test2" name="testInt" value=""/>
请求参数testInt的值为:<bean:write name="test2"/><br>
<p>如果在请求参数中包含多个同名的请求参数,那么,<bean:parameter>标记将读出第一个参数的值。例如有下面的链接:</p>
<font class="CodeStyle">
<html:link page="/bean-parameter.jsp?testValue=10000&testValue=20000&testValue=30000">添加参数</html:link>
</font>
<p>那么,当用户使用<bean:parameter>标记将testValue的值读出来时,将只显示第一个testValue的值,也就是10000。以下是
运行效果,用户点击下面"添加参数"的链接来为testValue请求参数赋值</p>
<html:link page="/bean-parameter.jsp?testValue=10000&testValue=20000&testValue=30000">添加参数</html:link>
<br>
<p>
<bean:parameter id="test3" name="testValue" value=""/>
testValue的值是:<bean:write name="test3"/>
<p>如果想要把所有和参数名匹配的请求参数的值都显示出来,可以使用<bean:parameter>标记的multiple属性。示例代码如下:</p>
<font class="CodeStyle">
<bean:parameter id="testArray" name="testValue" value="" multiple="yes"/><br>
参数列表如下:<br>
<%<br>
for (int i=0;i<testArray.length;i++){<br>
out.println("参数"+i+" : " + testArray[i]);<br>
out.println("<br>");<br>
}<br>
%><br>
</font>
<p>在上面的代码中,使用了<bean:parameter>标记的multiple属性,在这种情况下,id属性所定义的就不是一个String型的对象了
而是变成了一个String[]型,也就是字符串数组,它用以存放同名请求参数的所有的值。然后,可以使用for语句将其打印出来。</p>
<p>以下就是运行效果,请求的URL为:</p>
<font class="CodeStyle">
<html:link page="/bean-parameter.jsp?testValue=10000&testValue=20000&testValue=30000">添加参数</html:link>
</font>
<p>
<bean:parameter id="testArray" name="testValue" value="" multiple="yes"/>
参数列表如下:<br>
<%
for (int i=0;i<testArray.length;i++){
out.println("参数"+i+" : " + testArray[i]);
out.println("<br>");
}
%>
<p>
<a href="index.jsp">返回主页面</a>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -