前端表达式: EL 与jstl
如果EL表达式怎么解析不了呢?
可以在JSP页面中加入这行代码
<%@ page isELIgnored="false" %> 试试吧.
JSP中引入包:
<%@ page import="com.ddwl.struts.*" %>
也面的值必须存放起来放在session 或者applcation 中
寻找顺序:page---request-session-application
${username}; 显示普通值
${cus.account},${cus.password} 显示javabean的值 cus为一个类的对象 account password为属性。
${cus.phones[0]}, ${cus.phones[1]},显示集合 phones为arraylist类型
集合内的javabean 内容显示:
${cuses[0].account}, ${cuses[0].password}, ${cuses[1].account}, ${cuses[1].password},
如果要拿到参数的值:
如:<a href=p2.jsp?m=3&n=4>
在下一个页面中要拿到m和n的值:
参数m:${param.m}, 参数n:${param.n}
显示cookie 的值:
response.addCookie(new Cookie("username",Tom));
则显示页面为:
${cookie.username.value} 显示结果为: Tom
JSTL :
显示值输出:
<% session.setAttribute("msgs",Welcome,Session");
session.setAttribute("score",67);
%>
${msgs};
或:输出值: <c:out value="${msgs}" > </c:out>
条件控制:1. <c:if test="${score>60}">
及格
</c:if>
<c:if test="${score<60}">
不及格
</c:if>
2.条件控制
<c:choose>
<c:when test="${score>90}">优秀</c:when>
<c:when test="${score>80}">良好</c:when>
<c:when test="${score>70}">一般</c:when>
<c:when test="${score>60}">及格</c:when>
<c:when test="${score<60}">不及格</c:when>
<c:otherwise> 输入错误 </c:otherwise>
</c:choose>
3.循环
<c:forEach items="${books}" var="book">
${book}
</c:forEach >
注:items 为sesion中存放的值 var 的值为变量名,将遍历后的结果存放在book中
2.集合中有javabean循环输出:
<c:forEach items="${books}" var="book">
${book.name}, ${book.price}
</c:forEach >
3.javabean中有集合:
<c:forEach items="${books.name}" var="name">
${book.name}, ${book.price}
</c:forEach >
books 中name 是集合
4. HashMap输出:
<c:forEach items="${hm}" var="content">
${content.key}, ${content.value};
</c:forEach >
关于循环拿出数组的办法:
public PageModel searchPaginated(String hql,Object[] params,int offset,int pagesize){
String countHql=getCountQuery(hql);
Query query =this.getSession().createQuery(countHql);
if(params !=null && params.length>0){
for(int i=0;i<params.length;i++){
query.setParameter(i, params[i]);
}
}
数据库部分:常见sql 语句
select * from t_user where id=#id#
insert into t_user values(null,#username#,#password#)
update t_user set username=#username# ,password=#password#
where id=#id#
delete from t_user where id=#id#
随机数字的生成:
// 随机产生lenght 个数字
private String randomString(int length){
long randomNumber = random(1,9999999999l);
StringBuffer sb = new StringBuffer();
sb.append(randomNumber);
for(int i=0; i<length; i++){
sb.append("0");
}
return sb.substring(0, length);
}
/**
* 在begin和end之间产生一个随机数
* @param begin
* @param end
* @return
*/
private long random(long begin,long end){
long rtn = begin + (long)(Math.random() * (end - begin));
if(rtn == begin || rtn == end){
return random(begin,end);
}
return rtn;
}
一。 等待后跳转代码:
5秒钟后自动重定向
<div id="num" >
</div>
<script type="text/javascript">
<!--
var leftTime=5000;
function go() {
document.getElementById("num").innerText=leftTime;
leftTime-=1000;
if(leftTime<=0){
document.location.href="cart.jsp"
}
}
setInterval(go,1000);
//-->
</script>