JSP中如何截取字符?
请教大家一个问题:jsp的语句是<liid="textmode">【起始时间】</li>${opProject.beginDate}opProject.beginDate...
请教大家一个问题:
jsp的语句是
<li id="textmode">【起始时间】</li>${opProject.beginDate}
opProject.beginDate就是从数据库中读取一个时间格式的数据
我现在只想取这个时间的前几位,请问该怎么修改?
这个页面中是获得一个封装后的数据库查询结果opProject,beginDate为opProject的一个字段。
另外一个分类有同步提问
http://zhidao.baidu.com/question/52192382.html
试过了啊:(
提示说
java:148: 软件包 opProject 不存在
String date=(opProject.beginDate).toString();
如果只是字符截取大家的方法都没问题。
问题主要在于,我传递查询到的数据库数据如何被jsp语句识别。
使用hibernate做了数据库对象的封装,页面对应的方法里面可以返回opProject对象。
我不知道这里面${opProject}为什么就可以访问到,而<%=opProject%>就不行
^ 展开
jsp的语句是
<li id="textmode">【起始时间】</li>${opProject.beginDate}
opProject.beginDate就是从数据库中读取一个时间格式的数据
我现在只想取这个时间的前几位,请问该怎么修改?
这个页面中是获得一个封装后的数据库查询结果opProject,beginDate为opProject的一个字段。
另外一个分类有同步提问
http://zhidao.baidu.com/question/52192382.html
试过了啊:(
提示说
java:148: 软件包 opProject 不存在
String date=(opProject.beginDate).toString();
如果只是字符截取大家的方法都没问题。
问题主要在于,我传递查询到的数据库数据如何被jsp语句识别。
使用hibernate做了数据库对象的封装,页面对应的方法里面可以返回opProject对象。
我不知道这里面${opProject}为什么就可以访问到,而<%=opProject%>就不行
^ 展开
5个回答
展开全部
做法一:(截取字符串)
<% 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}为什么就可以访问到,而<%=opProject%>就不行"
EL表达式隐式对象:pageScope,requestScope,sessionScope,applicationScope等,如果未指定scope,它的搜索顺序是:page~application
而<%=opProject %>只限定pageScope,当opProject不在pageScope时,${opProject}就可以访问到,而<%=opProject%>就不行了。
所以要补上以上代码。
<% 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}为什么就可以访问到,而<%=opProject%>就不行"
EL表达式隐式对象:pageScope,requestScope,sessionScope,applicationScope等,如果未指定scope,它的搜索顺序是:page~application
而<%=opProject %>只限定pageScope,当opProject不在pageScope时,${opProject}就可以访问到,而<%=opProject%>就不行了。
所以要补上以上代码。
展开全部
楼主分两种情况,如果你的是时间格式的,string
型的就用楼上方法就好了
opProject.beginDate,那么你要先把它转成string型
<%SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");把时间型转化为string型,假如是现在的时刻,则ss为"2008-4-27"
String ss=sdf.format(opProject.getBeginDate());
String year=ss.substring(0,4);
String year_month=ss.substring(0,7);
String year_month_day=ss;
%>
<li id="textmode">【起始时间】</li><%=year%> 或者
<%=year_month%> <%=year_month_day%>
楼主你试试,有什么问题补充下我再看看
____________________________________________________
楼主因为${opProject}是取session,或着request已经存在的数据(你从数据库查询包存在作用域的变量),所以可以,而<%=opPorject%>是取已经有的字符串或者原始类型变量比如
你在,<%=opPorject%>之前一定要先<%String opPorject=(String)request.getAttribut("opPorject");%>或者<%String opPorject=(String)request.getSession().getAttribut("opPorject");%>就是要先把值在代码段中传过去,才能那样用
弱弱问一下,楼主opProject.beginDate从数据库得到date型的吗,如果是的话应该没问题的
型的就用楼上方法就好了
opProject.beginDate,那么你要先把它转成string型
<%SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");把时间型转化为string型,假如是现在的时刻,则ss为"2008-4-27"
String ss=sdf.format(opProject.getBeginDate());
String year=ss.substring(0,4);
String year_month=ss.substring(0,7);
String year_month_day=ss;
%>
<li id="textmode">【起始时间】</li><%=year%> 或者
<%=year_month%> <%=year_month_day%>
楼主你试试,有什么问题补充下我再看看
____________________________________________________
楼主因为${opProject}是取session,或着request已经存在的数据(你从数据库查询包存在作用域的变量),所以可以,而<%=opPorject%>是取已经有的字符串或者原始类型变量比如
你在,<%=opPorject%>之前一定要先<%String opPorject=(String)request.getAttribut("opPorject");%>或者<%String opPorject=(String)request.getSession().getAttribut("opPorject");%>就是要先把值在代码段中传过去,才能那样用
弱弱问一下,楼主opProject.beginDate从数据库得到date型的吗,如果是的话应该没问题的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主用了hibernate,那用struts没有啊,如果用了你处理就应该在action里面啥,你就先在action里面把字符截取了在传到页面上,我觉得这样不错!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<% String date=(opProject.beginDate).toString();
String year=date.substring(0,4);
%> <li id="textmode">【起始时间】</li><%=year%> 你自己看看对不对
String year=date.substring(0,4);
%> <li id="textmode">【起始时间】</li><%=year%> 你自己看看对不对
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
${ < 你用velocity了? velocity工具箱里有日期格式化工具 自己翻去
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询