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

当前页面: 开发资料首页JSP 专题struts中用标签处理数组的问题,解决马上给分哦

struts中用标签处理数组的问题,解决马上给分哦

摘要: struts中用标签处理数组的问题,解决马上给分哦


现在我要做的东西是这样的,
在一个添加案件的jsp页面里有这样一项是经办人信息。

填写经办人信息
经办人 (下拉列表)
记录人
执法证件名称
执法证件编号
合议主持人
合议地点
合议人员
承办人电话

经办人有自己专门的一张表来存储(记录人,执法证件名称,编号,合议主持人等等),我在这个页面之前做了一个action来取出经办人的信息(包括记录人,名称,编号等),包括所有的经办人放到数组里,然后传到这个jsp页面中。经办人的下拉列表是通过struts标签从数组里取出来的,现在我想达到一个效果就是当点击下拉列表中某个人的名字,这个名字相对应的信息就会自动的显示在下面的各项里(就是记录人,编号等等)

请问高手这个怎么解决啊,肯定有办法的吧。先谢过了。

不知道说的清不清楚



很简单啊, 你先把数据读入到客户端, 可以用javascript数组进行存储, 然后用javascript进行赋值就可以了啊!


我倒是想到用javascript了,但是对js不太熟,要怎么写呢,这段js.


各位大侠帮帮忙吧,路过的帮顶一下吧。真的弄不出来,对标签也不是太熟悉。郁闷中


up by myself


在你的form种搞两个get方法分别返回经办人ID数组,和经办人名称数组,jsp上用html:select + html:options TAG


<tr>
<td>经办人</td>
<td>
<select name="operator" onChange="getValue1(this.value);">
<option value=""></option>



<option value="</option>



</select>
</td>
</tr>


function getValue1(optName){



document.form1.recorder.value='';
document.form1.certificateName.value='';
document.form1.certificateId.value='';
document.form1.discussCompere.value='';
document.form1.discussAddress.value='';
document.form1.discussMember.value='';
document.form1.undertakerPhone.value='';



}

谢谢,呵呵,可是我现在就是想通过选不同的经办人来自动的变幻经办人的信息啊。应该是用js来实现的,不过我现在的问题就是怎么能过optName来控制经办人是数组中的哪条,然后来显示他对应的信息


再顶起来


<head>
<%out.print("<script language=javascript>");
out.print("ttt = new Array;");
out.print("</script>");
%>

<script language=javascript>

<%--跌代getOperator中的数据,在页面加载为一个数组,这里只加载了operator,recorder 两个域,其余的自己看着加
onchange事件触发的方法就是到这个数组里边读取数据并显示数据的。
这里要注意一个问题,就是下边这行out.print 和 bean:write 不能出现换行直道这个 new Array 结束
--%>
<%out.print("ttt[" + i + "]= new Array('");%><%out.print("','");%><%out.print("');");
<%i++;%>

</script>

<script language=javascript>
function getValue1(operator)
//省略数组为null的情况判断

for(int m = 0;m<<%=i%>;m++){
if(operator == ttt[m][0]){
document.form1.recorder.value = ttt[m][1];
return;
}
}
}
</script>
</head>



写得匆忙 上边嵌入的java代码忘记创建 i 了 自己加上吧


function getValue1(optName){
var operator;
var recorder;
var i=1;
var ttt;



operator='';
recorder='';
ttt[i]=new Array("+operator+","+recorder+");
i++;



for(m = 0;mif(optName == ttt[m][0]){
document.form1.recorder.value = ttt[m][1];
return;
}
}


}


谢谢,呵呵,你的代码我懂意思了,所以在那基础上又改了一下,思想是一样的,不过我对js太不熟了,总是报ttt[i]=new Array("+operator+","+recorder+");
这句有错,说缺少; 不知道怎么办好了

请会的再帮我看看吧。


function getValue1(optName){
var i=0;
var ttt=new Array;
if(optName==""){
document.form1.recorder.value = "";
document.form1.certificateName.value = "";
document.form1.certificateId.value = "";
document.form1.discussCompere.value = "";
document.form1.discussAddress.value = "";
document.form1.discussMember.value = "";
document.form1.undertakerPhone.value = "";
}



ttt[i]=new Array('','','','','','','','');
i++;



for(m = 0;mif(optName == ttt[m][0]){
document.form1.recorder.value = ttt[m][1];
document.form1.certificateName.value = ttt[m][2];
document.form1.certificateId.value = ttt[m][3];
document.form1.discussCompere.value = ttt[m][4];
document.form1.discussAddress.value = ttt[m][5];
document.form1.discussMember.value = ttt[m][6];
document.form1.undertakerPhone.value = ttt[m][7];
return;
}
}


}

解决,把代码贴出来,谢谢楼上的。

中的代码不能这样写
按照我贴给你的帖子那样写,这样就会出现几个 <script></script>对,不过不影响任何事情。
你那种写法中 循环的 I 没有办法处理 要分清楚js中的变量和jsp中的java变量,不是一回事,i不要直接取值这样弄混了,<%=i%>


↑返回目录
前一篇: 初学者请教问题之三:页面跳转问题
后一篇: 急求!!!