9.5项目收获

本文探讨了JSP页面中避免使用直接Java代码的方法,介绍了如何利用EL表达式及c标签进行数据展示,并通过实例展示了如何结合JavaScript实现数据交互。

第一,规范中jsp页面尽量不要出现<%..%>或者<%=..%>这样的java代码。可以用,el表达式,当然还有c标签或者struts自带的标签库。才发现,自己在平时上课时,不认真,都昏昏睡去了。后悔啊。。     (你不前进,别人已经走得远远了。。)

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false"%>

 isELIgnored 是否禁用el表达式,当然false了。。如果是true,就是不可以使用el表达式

 

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> c标签的使用,list的for-each的好帮手
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>   struts的bean标签
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>   struts的html标签

  -------------------下面为jsp页面

c标签的for-each的使用 ${...}el表达式  requestScope.list 页面请求时放入的属性名list,里面也是LIst类型的数据。

<c:forEach var="dt" items="${requestScope.list}">
${dt.photourl}  //输出list的vo对象中的属性值。phtourl的结果
 <input type="hidden" name="ur" value="${dt.photourl}" />
    <input type="hidden" name="na" value="${dt.phototitle}" /> // 无论是赋值el表达式还是打印el表达式,都要注意加'..'
                                                                             // 例如:alert('${requestScope.list}'); value="${dt.phototitle}" 
  </c:forEach >
   
<script type="text/javascript">

//以下是flash实现的图片切换的小插件

var sp=new SwitchPic('tt');
sp.flashPath="switchPic.swf";
sp.picFolder=""; //图面的目录地址
    alert(document.getElementById("ur").value);
   var urarr=document.getElementsByName("ur");// 这个 <input。。。/>也能在循环中实现数组。真的才知道,我太小白了!

   var naarr=document.getElementsByName("na");//这两个得到数组集合 urarr  naarr;
   
   for(var i=0 ; i<urarr.length;i++){   //urarr.length得到长度,for循环在javascript中的应用!
   alert(urarr[i].value);//得到urarr[i].value才能得到值
   sp.addPic(urarr[i].value,"",naarr[i].value);  //一个是图片的路径,一个是图片的名字
   }
 

   
sp.show();//插件代码写的

 </script>

  其实呢,这个问题,就是javascript和jsp页面还有java代码3者之间的值传递一直是个很繁琐的事情,花了我们很多时间,还有就是也可能是学校机器问题吧。老测试不通过。 付出总有回报,恭喜我们攻克了。。还有和我一直研究这些问题的好朋友,刘乐,他确实很有实力。感谢下了。。    

--------------------------------------------------------------------------------------------------

 有时呢,我总是先把页面打出来了,然后再更新session或者request..这样。会出现一个问题,总是不会在第一次进入页面时,刷出数据,而是要刷新下。。才可以。。(原因:先页面显示-->更新数据 这样看不到数据,刷新-->看到数据了!!)

我总是死脑子的一直在想,怎么可以把更新数据放在显示页面之前呢。。onload方法是先加载页面,然后掉onload方法的,

绝对不是:先onload,再加载页面。。这是错误的!!!

 

换个思路!调入这个页面的前一步操作,他可以先。发送更新数据的请求啊、、然后通过action的返回值,再通过servlet的重定向,或者请求派发,跳转到咱们要显示的页面啊。。   上一步--->更新数据-->显示页面-->修改操作-->更新数据-->显示页面。。这样就解决了顺序的问题! 

 

不得不说的:

         一个人的力量是渺小的,团队的力量是伟大的。好好感受这份伟大吧。记住,你不是一个人在战斗。。朋友们使我的坚强臂膀!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值