JSTL与Struts的结合(三)

 

分类: 我的著作
2006.10.7 22:11 作者:小仙狗 | 评论:0 | 阅读:1241

9.3.2  用于赋值的<c:set>标签<o:p></o:p>

<c:set>标签用于为变量或JavaBean中的变量属性赋值的工作。它的属性和描述如表9.4所示:<o:p></o:p>

9.4 <c:set>标签属性和说明<o:p></o:p>

属性<o:p></o:p>

描述<o:p></o:p>

value<o:p></o:p>

值的信息,可以是EL表达式或常量<o:p></o:p>

target<o:p></o:p>

被赋值的JavaBean实例的名称,若存在该属性则必须存在property属性(可选)<o:p></o:p>

property<o:p></o:p>

JavaBean实例的变量属性名称(可选)<o:p></o:p>

var<o:p></o:p>

被赋值的变量名(可选)<o:p></o:p>

scope<o:p></o:p>

变量的作用范围,若没有指定,默认为page(可选)<o:p></o:p>

当不存在value的属性时,将以包含在标签内的实体数据作为赋值的内容。下面看一个示例:<o:p></o:p>

<c:set value="this is andy" var="oneString"/><o:p></o:p>

${oneString} <br><o:p></o:p>

该示例将为名为“oneString”的变量赋值为“this is andy”,其作用范围为page<o:p></o:p>

9.3.3  用于删除的<c:remove>标签<o:p></o:p>

<c:remove>标签用于删除存在于scope中的变量。它的属性和描述如表9.5所示:<o:p></o:p>

9.5 <c:remove>标签属性和说明<o:p></o:p>

属性<o:p></o:p>

描述<o:p></o:p>

var<o:p></o:p>

需要被删除的变量名<o:p></o:p>

scope<o:p></o:p>

变量的作用范围,若没有指定,默认为全部查找(可选)<o:p></o:p>

下面看一个示例:<o:p></o:p>

<c:remove var="sampleValue" scope="session"/><o:p></o:p>

${sessionScope.sampleValue} <br><o:p></o:p>

该示例将存在于Session中名为“sampleValue”的变量删除。下一句EL表达式显示该变量时,该变量已经不存在了。<o:p></o:p>

9.3.4  用于异常捕获的<c:catch>标签<o:p></o:p>

<c:catch>标签允许在JSP页面中捕捉异常。它包含一个var属性,是一个描述异常的变量,改变量可选。若没有var属性的定义,那么仅仅捕捉异常而不做任何事情,若定义了var属性,则可以利用var所定义的异常变量进行判断转发到其他页面或提示报错信息。看一个示例。<o:p></o:p>

<c:catch var="err"><o:p></o:p>

         ${param.sampleSingleValue[9] == 3}<o:p></o:p>

</c:catch> <o:p></o:p>

${err}<o:p></o:p>

当“${param.sampleSingleValue[9] == 3}”表达式有异常时,可以从var属性“err”得到异常的内容,通常判断“err”是否为null来决定错误信息的提示。<o:p></o:p>

9.3.5  用于判断的<c:if>标签<o:p></o:p>

<c:if>标签用于简单的条件语句。它的属性和描述如表9.6所示:<o:p></o:p>

9.6 <c:if>标签属性和说明<o:p></o:p>

属性<o:p></o:p>

描述<o:p></o:p>

test<o:p></o:p>

需要判断的条件<o:p></o:p>

var<o:p></o:p>

保存判断结果truefalse的变量名,该变量可供之后的工作使用(可选)<o:p></o:p>

scope<o:p></o:p>

变量的作用范围,若没有指定,默认为保存于page范围中的变量(可选)<o:p></o:p>

下面看一个示例:<o:p></o:p>

<c:if test="${paramValues.sampleValue[2] == 12}" var="visits"><o:p></o:p>

      It is 12<o:p></o:p>

</c:if><br><o:p></o:p>

${visits} <br><o:p></o:p>

该示例将判断request请求提交的传入控件数组参数中,下标为“2”的控件内容是否为“12”,若为12则显示“It is 12”。判断结果被保存在page范围中的“visits”变量中。  

9.3.6  用于复杂判断的<c:choose><c:when><c:otherwise>标签<o:p></o:p>

这三个标签用于实现复杂条件判断语句,类似“if,elseif”的条件语句。<o:p></o:p>

q         <c:choose>标签没有属性,可以被认为是父标签,<c:when><c:otherwise>将作为其子标签来使用。<o:p></o:p>

q         <c:when>标签等价于“if”语句,它包含一个test属性,该属性表示需要判断的条件。<o:p></o:p>

q         <c:otherwise>标签没有属性,它等价于“else”语句。<o:p></o:p>

下面看一个复杂条件语句的示例。<o:p></o:p>

<c:choose><o:p></o:p>

         <c:when test="${paramValues.sampleValue[2] == 11}"><o:p></o:p>

                   not 12 not 13,it is 11<o:p></o:p>

         </c:when><o:p></o:p>

         <c:when test="${paramValues.sampleValue[2] == 12}"><o:p></o:p>

                   not 11 not 13,it is 12<o:p></o:p>

         </c:when><o:p></o:p>

         <c:when test="${paramValues.sampleValue[2] == 13}"><o:p></o:p>

                   not 11 not 12,it is 13<o:p></o:p>

         </c:when><o:p></o:p>

         <c:otherwise><o:p></o:p>

                   not 11 1213<o:p></o:p>

         </c:otherwise><o:p></o:p>

</c:choose><o:p></o:p>

该示例将判断request请求提交的传入控件数组参数中,下标为“2”控件内容是否为“11”或“12”或“13”,并根据判断结果显示各自的语句,若都不是则显示“not 11 1213”。<o:p></o:p>

9.3.7  用于循环的<c:forEach>标签<o:p></o:p>

<c:forEach>

你可能感兴趣的:(C++,c,jsp,struts,C#)