jstl和jsp脚本变量相互访问

1.jsp脚本访问jstl标准动作的变量,可以通过隐式的范围变量来获取,对于页面作用域的变量,可以通过pageContext.getAttribute()来获取,也可以通过动作来获取:

<c:set var="str" value="This is a JSTL page variable" scope="page"/>
<%
String aStr =(String)pageContext.getAttribute("str");
out.println(aStr+"<br/>");
%>

2.对于jstl动作访问jsp脚本变量,可以使用jsp表达式来获取,如:

<c:set var="a" value="<%=aStr%>" />

使用了上面方法的代码:

<c:set var="warnTime" value="${mlListItem.warnTime}" scope="page"/>
<%
String warnTimeStr =(String)pageContext.getAttribute("warnTime");
String[] warnTime = warnTimeStr.split(" ");
String warnTimeDate = warnTime[0];
String[] warntTimeOther = warnTime[1].split(":");
String warnTimeHour = warntTimeOther[0];
String warnTimeMinute = warntTimeOther[1];
%>
<c:set var="hour" value="<%=warnTimeHour%>" />
<c:set var="minute" value="<%=warnTimeMinute%>" />

//另外一段代码
<select id="hour" name="hour">
<option value=""></option>
<c:forEach var="i" begin="0" end="23" step="1">
<option value="${i}" <c:if test="${i==hour}">selected="selected"</c:if>>${i}</option>
<br>
</c:forEach>
</select>:
<select id="minute" name="minute">
<option value=""></option>
<c:forEach var="i" begin="0" end="59" step="1">
<option value="${i}" <c:if test="${i==minute}">selected="selected"</c:if>>${i}</option
<br>
</c:forEach>
</select>分

JSTL(JavaServer Pages Standard Tag Library)JSP脚本之间可以进行转换,以便在JSP面中使用更简洁、可维护的代码。以下是一些常见的转换示例: ### JSP脚本转换为JSTL 1. **输出变量** - **JSP脚本** ```jsp <%= request.getAttribute("message") %> ``` - **JSTL** ```jsp <c:out value="${message}" /> ``` 2. **条件判断** - **JSP脚本** ```jsp <% if (user != null) { %> Welcome, <%= user.getName() %>! <% } else { %> Welcome, Guest! <% } %> ``` - **JSTL** ```jsp <c:choose> <c:when test="${not empty user}"> Welcome, ${user.name}! </c:when> <c:otherwise> Welcome, Guest! </c:otherwise> </c:choose> ``` 3. **循环** - **JSP脚本** ```jsp <ul> <% List<String> items = (List<String>) request.getAttribute("items"); for (String item : items) { %> <li><%= item %></li> <% } %> </ul> ``` - **JSTL** ```jsp <ul> <c:forEach var="item" items="${items}"> <li>${item}</li> </c:forEach> </ul> ``` ### JSTL转换为JSP脚本 1. **输出变量** - **JSTL** ```jsp <c:out value="${message}" /> ``` - **JSP脚本** ```jsp <%= request.getAttribute("message") %> ``` 2. **条件判断** - **JSTL** ```jsp <c:choose> <c:when test="${not empty user}"> Welcome, ${user.name}! </c:when> <c:otherwise> Welcome, Guest! </c:otherwise> </c:choose> ``` - **JSP脚本** ```jsp <% if (user != null) { %> Welcome, <%= user.getName() %>! <% } else { %> Welcome, Guest! <% } %> ``` 3. **循环** - **JSTL** ```jsp <c:forEach var="item" items="${items}"> <li>${item}</li> </c:forEach> ``` - **JSP脚本** ```jsp <ul> <% List<String> items = (List<String>) request.getAttribute("items"); for (String item : items) { %> <li><%= item %></li> <% } %> </ul> ``` 通过这些示例,可以看到JSTL提供了一种更简洁可维护的方式来编写JSP面代码,减少了脚本的使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值