怎样截取JSp.EL表达式的字符串

大神们帮我分析下,怎样截取JSp.EL表达式的字符串
最新回答
り错过的是梦不是命。

2025-03-01 03:33:54

做法一:(截取字符串)
<% com.aohuatong.repository.project.vo.OpProjectVO opProject = (com.aohuatong.repository.project.vo.OpProjectVO)request.getAttribute("opProject");
if (opProject == null) {
opProject = (com.aohuatong.repository.project.vo.OpProjectVO)session.getAttribute("opProject");
}
String date=(opProject.getBeginDate()).toString();
String year=date.substring(0,4);
%> <li id="textmode"></li><%=year%>

做法二:(传统格式化)
<% com.aohuatong.repository.project.vo.OpProjectVO (com.aohuatong.repository.project.vo.OpProjectVO)opProject = request.getAttribute("opProject");
if (opProject == null) {
opProject = (com.aohuatong.repository.project.vo.OpProjectVO)session.getAttribute("opProject");
}
String year=new java.text.SimpleDateFormat("yyyy").format(opProject.getBeginDate());
%> <li id="textmode"></li><%=year%>

做法三:(JDK1.5新格式化)
<% com.aohuatong.repository.project.vo.OpProjectVO (com.aohuatong.repository.project.vo.OpProjectVO)opProject = request.getAttribute("opProject");
if (opProject == null) {
opProject = (com.aohuatong.repository.project.vo.OpProjectVO)session.getAttribute("opProject");
}
String year=String.format("The time is %1$tY%1$tM", opProject.getBeginDate()));
%> <li id="textmode"></li><%=year%>

-->2008/04/27
忘了是表达式了。
在以上代码前补上:
<% com.aohuatong.repository.project.vo.OpProjectVO opProject = (com.aohuatong.repository.project.vo.OpProjectVO)request.getAttribute("opProject");
if (opProject == null) {
opProject = (com.aohuatong.repository.project.vo.OpProjectVO)session.getAttribute("opProject");
} %>

"$为什么就可以访问到,而<%=opProject%>就不行"
EL表达式隐式对象:pageScope,requestScope,sessionScope,applicationScope等,如果未指定scope,它的搜索顺序是:page~application
而<%=opProject %>只限定pageScope,当opProject不在pageScope时,$就可以访问到,而<%=opProject%>就不行了。
所以要补上以上代码。