站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题jsp与JavaScript可以嵌套写不?

jsp与JavaScript可以嵌套写不?

摘要: jsp与JavaScript可以嵌套写不?


我在做一个东西时。要把通过jsp访问数据库的结果传递给JavaScript的数组。究竟该怎么做呢,望各位帮帮我。我是这样做的,不知道是哪个错了哦?帮我看看,一定重谢!
<script language=JavaScript>
var bannerAD=new Array();
var bannerADlink=new Array();
var bannerADtitle=new Array();
<%
List v7=(List)session.getAttribute(Constants.TPXW1_LIST_KEY);
Tpxw tpxw=null;
int j=0;
if(v7!=null){
for(int i=0;i tpxw=(Tpxw)v7.get(i);
%>
bannerADlink[<%=j%>]=<%=tpxw.getId()%>;

bannerAD[<%=j%>]=<%=tpxw.getImage()%>;

bannerADtitle[<%=j%>]=<%=tpxw.getTitle()%>;

<% j++;
}
}%>
</script>


耶!!沙发

楼主我支持你
-----------------
松自萧萧云自飘
风中独酌亦逍遥
抚却凡愁与尘念
琴韵未解恨已销


问题是什么呢??

没有发现有什么明显的代码错误

而且这么写的思路是没有问题的


好像没看出什么异常,代码应该没问题吧?会不会错在别的地方,把报错信息也发出来啊


数组里是空的,它们可不可以嵌套写呢?


以前我asp里面写过,可以的。。。


肯定可以嵌套的


哈哈,我也想知道


怎么不把错误信息说一下? 我没环境,运行不了


可以嵌套写.不知道是不是你要的效果:

jsp页面:

<input type="button" stype="Image" class="button_style" value="生成计划单" onclick="goBOM('','','',tabstemp);"></td>




脚本:
<script>

function goBOM(pid,quant,pro_id,mycode,obj) { document.all.bomframe.src="../XXX.do?my_pid="+pid+"&myquant="+quant+"&opt=bigentree&pro_id="+pro_id+"&mycode="+mycode;

}

</script>




你的Tpxw tpxw=null;是什么?是不是错在这里?


如果能通过JAVA环境编译,那基本不是JSP代码的问题了。
你看看运行后的页面的源代码,如果JS代码有问题页面是会报错的。
你根据错误找到源代码的地方,看看是不是生成的代码不符合JAVASCRIPT的语法。


可以把JSP代码嵌入到JAVASCRIPT中,
不能把JAVASCRIPT代码嵌入到JAVA中


我发现个严重问题。我把javascript代码去了以后就可以执行jsp代码了,不知道怎么回事哦。


我发现上面的程序根本就没执行jsp程序,不知道是什么问题啊?各位帮帮我。一定重谢
另外我在前面还加了

<%@ page import = "news.*,zntt.*,sqmy.*,tpxw.*,jsgy.*,jsfc.*,czyz.*,announce.*,config.Constants" %>
<%@ page import = "java.util.List" %>
<%@ page contentType="text/html;charset=GBK" %>
这三句呢!是不是他们的问题呢





那是你的javascript的问题 两者嵌套使用肯定是没有问题的 关键是你的javascript中的方法只有被调用以后才会起作用


javascript本身是不会自动调用自己的。需要你触发一个事件才能去使用。


那嵌套在里的jsp程序也要调用才会执行吗?


对,他们算作一个函数,一定要在其它的地方调用,比如搞个什么按钮触发一下


那也太难了吧。我把从数据库中的东西传给javascript数组,还要经过这样啊。那该怎么办呢?


我这段代码就是不执行啊!
<%@ page import = "news.*,zntt.*,sqmy.*,tpxw.*,jsgy.*,jsfc.*,czyz.*,announce.*,config.Constants" %>
<%@ page import = "java.util.List" %>
<%@ page contentType="text/html;charset=GBK" %>

<script language=JavaScript>
<%
List v7=(List)session.getAttribute(Constants.TPXW1_LIST_KEY);
Tpxw tpxw=null;
if(v7!=null){
for(int i=0;i tpxw=(Tpxw)v7.get(i);
out.print(tpxw.getImage());
out.print(tpxw.getTitle());
}
}%>
</script>
但只要去掉<script language=JavaScript>这个就能执行这段程序了。我给怎么改呢?谢谢!


你先搞清楚再做什么!
1、out.print只是jsp中把内容输出到浏览器中,至于放到什么位置就看你的需要了。放到javascript中那办出的要一定是javascript语法!
2、你的out.print出来的要是javascript语法吧,否则会出错,要么你你的out.print不要写在
javascript中。




<%
List v7=(List)session.getAttribute(Constants.TPXW1_LIST_KEY);
Tpxw tpxw=null;
%>
<script language=JavaScript>
var a=new Array();
<%
int j=0;
if(v7!=null){
for(int i=0;i tpxw=(Tpxw)v7.get(i);
%>
a[<%=j%>]=<%=tpxw.getTitle()%>;
<% j++;
}
}%>
</script>
我这样写有错没呢?


应该没有错呀,保证你用到的java类都import正确了。
把js程序放在jsp开始的地方,当页面打开的时候,会被执行的。
我写了一个简单的jsp如下,你放在tomcat的目录下执行一下,就知道了。

<%@ page import = "java.util.List" %>
<%@ page import = "java.util.ArrayList" %>
<%
List v7= new ArrayList();
v7.add("1");
v7.add("2");
%>
<script language=JavaScript>
var a=new Array();
<%
if(v7!=null){
for(int i=0;i%>
a[<%=i%>]=<%=v7.get(i).toString()%>;
<% }}
%>
alert(a);
</script>


对的啊


if(v7!=null){
for(int i=0;i tpxw=(Tpxw)v7.get(i);
%>
a[<%=i%>]=<%=tpxw.getTitle()%>;
我试了很多次。我就是觉得上面这几句有问题,我的目的就是从List中取出一个对象马上转换成Tpxw对象,再通过getTitle()方法取出想要的东西后付给数组a,但我每次运行时,都说网页有错误,不知道是啥错误,我去了所有的javascript代码后程序没的问题,可以输出结果。v7的确不为空,那为什么就是不把值传给a呢,还抱什么错啊?
但我还是不明白alley_zhan(晓柯)的程序能实现,我只是对了个对象转换,结果就出错,郁闷!
帮帮我啊,谢谢你们了!



这句错了:bannerADtitle[<%=j%>]=<%=tpxw.getTitle()%>;
tpxw.getTitle()假设值是aaa,那么你的script就是: bannerADtitle[0]=aaa;明显是错的嘛,
改成这样:bannerADtitle[<%=j%>]="<%=tpxw.getTitle()%>";
所有返回出来是字符串的都加上引号.


学习了。


呵呵。谢了,我忘了加引号,感谢所有的人,谢谢!!


我记得是可以的
修改一下看看
bannerADlink[<%=j%>]='<%=tpxw.getId()%>';
有个问题请教一下
为何数组的下标不用i呢!



↑返回目录
前一篇: 刚接触Eclipse+myEclipse,问一些简单的问题????
后一篇: 关于页面定制