毕业了,闲着没事做,自己找个项目来练练手,做的时候还学到的东西很多
以前总在用jsp做数据的截取工作,现在自己想摆脱这种做法
最近一直在用struts标签,但是说实话自己还是个小菜鸟(不多说了,看看实例什么事情都好办):
在用到权限的时候,可以再页面上判断:
例如1:根据不同的角色显示不同的页面:
<frameset rows="23,*" border="0" frameborder="0">
<frame name="modNavTop" frameborder="0" src="modNavTop.jsp" noresize="noresize" scrolling="no" marginheight="0" marginwidth="0" />
<s:if test="#session.role.roleName=='管理员'">
<frame name="modNav" frameborder="0" src="trees/managermainmenu.jsp" noresize="noresize" scrolling="auto" marginheight="0" marginwidth="0" />
</s:if>
<s:if test="#session.role.roleName=='教师'">
<frame name="modNav" frameborder="0" src="trees/teacharmainmenu.jsp" noresize="noresize" scrolling="auto" marginheight="0" marginwidth="0" />
</s:if>
<s:if test="#session.role.roleName=='学生'">
<frame name="modNav" frameborder="0" src="trees/Stumainmenu.jsp" noresize="noresize" scrolling="auto" marginheight="0" marginwidth="0" />
</s:if>
</frameset>
例如2:我们在信息分页显示的时候有些内容很多,需要截取,就可以这样做:
<s:iterator value="tdilist" var="ilist">
<s:if test="#ilist.contents != ''">
<tr style="border-color: green; border: 1px solid;">
<td><input type="checkbox" name="checkid" id="checkid" value="${ilist.docid}"></td>
<td>${ilist.title}</td>
<td>${ilist.utterer }</td>
<td>${ilist.addtime}</td>
<td>
<s:if test="%{#ilist.contents.length()>10}">
<s:property value="#ilist.contents.substring(0,10)+'...'"/>
</s:if>
<s:else>
<s:property value="#ilist.contents"/>
</s:else>
</td>
<td><a href="PupdateNotice?docinfo.docid=${ilist.docid}">[编辑]</a> <a href="deleteNotice?docinfo.docid=${ilist.docid}">[删除]</a></td>
</tr>
</s:if>
</s:iterator>
例如3:想要获取URL中最后面的文件的名字,就可以这样做:
<s:iterator value="tdilist" var="ilist">
<tr>
<td>${ilist.title}</td>
<td>${ilist.utterer }</td>
<td>${ilist.addtime }</td>
<td><s:property value="#ilist.docurl.substring(#ilist.docurl.lastIndexOf('\\\\')+1)"/></td>
<td><a href="NoticeFiledown?fileName=<s:property value="#ilist.docurl.substring(#ilist.docurl.lastIndexOf('\\\\')+1)"/>">[下载]</a> <a href="deleteNoticeFile?fileName=<s:property value="#ilist.docurl.substring(#ilist.docurl.lastIndexOf('\\\\')+1)"/>&docinfo.docid=${ilist.docid}">[删除]</a></td>
</tr>
</s:iterator>
字符串的截取就说到这吧。
还有就是数据库方面的问题:
开始的时候自己一直想根据一个字段是否为null,来判断段是否显示,我尝试了很多方法:
错误(hql语句):
from T_DOCUMENT_INFO where contents not is null
from T_DOCUMENT_INFO where contents != null
from T_DOCUMENT_INFO where contents <> null
from T_DOCUMENT_INFO where contents = ''
这些都是错误的。
正确:
from T_DOCUMENT_INFO where contents is not null
from T_DOCUMENT_INFO where contents is null