`
wangmengbk
  • 浏览: 289415 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

用java打印javascript(级联菜单)

阅读更多
package com.wang.struts.util;

import java.util.List;

import com.wang.struts.dao.QxDao;
import com.wang.struts.dao.implement.FactoryDao;
import com.wang.struts.dao.implement.FwlxImplementDao;
import com.wang.struts.dao.implement.JdImplementDao;
import com.wang.struts.dao.implement.QxImplementDao;
import com.wang.struts.vo.CountJdVo;
import com.wang.struts.vo.FwlxVo;
import com.wang.struts.vo.JdVo;
import com.wang.struts.vo.QxVO;

public class JspUtil {
  private static StringBuffer arrayStr = null;

     private static StringBuffer qxOptionsStr = null;

     private static StringBuffer fwlxOptionsStr = null;

   
     public static StringBuffer getArrayStr() {// synchronized
         if (arrayStr == null) {
             arrayStr = new StringBuffer();
            QxImplementDao qxProcess=FactoryDao.getFactoryQxImplementDao();//得到到对象
             JdImplementDao jdProcess = FactoryDao.getFactoryJdImplementDao();
             List qxList = qxProcess.getQxList();//调用dao,得到所有的区县
             List jdList = jdProcess.getJDList();//得到所有的街道列表
             List jdNum = jdProcess.getJDNums(); //根据区县得到所有的街道
      
             int qxLength = qxList.size();
             // int jdLength = jdList.size();
             // int jdNumLength = jdNum.size();
             int pointer = 0;// 指示
             arrayStr.append("var v = new Array(" + qxLength + ");\n");// option的value
             arrayStr.append("var n = new Array(" + qxLength + ");\n");// option的显示值

             for (int i = 0; i < qxLength; i++) {
                 int qxid = ((QxVO) qxList.get(i)).getQxId();
                 arrayStr.append("v[" + qxid + "] = new Array(");
           
                 int l = 0;
                 try {
                     l = ((CountJdVo) jdNum.get(i)).getTotal();//根据区县Id得到对应的街道数量
                 } catch (Exception e) {
                     // e.printStackTrace();
                     System.out.println("========无此区县("
                             + ((QxVO) qxList.get(i)).getQxId() + ")的街道资料========");
                 }
                 for (int j = 0; j < l; j++) {
                     int value = ((JdVo) jdList.get(pointer + j)).getJdid();
                     arrayStr.append("'" + value + "'");
                     if (j != l - 1) {
                         arrayStr.append(",");
                     }
                 }
                 arrayStr.append(");\n");
                 arrayStr.append("n[" + qxid + "] = new Array(");
                 for (int j = 0; j < l; j++) {
                     String name = ((JdVo) jdList.get(pointer + j)).getJd();//根据街道数量来遍历街道名称
                     arrayStr.append("'" + name + "'");
                     if (j != l - 1) {
                         arrayStr.append(",");
                     }
                 }
                 arrayStr.append(");\n");

                 pointer += l;
             }
         }
         return arrayStr;
     }

   
     public static StringBuffer getQxOptions() {
         if (qxOptionsStr == null) {
             qxOptionsStr = new StringBuffer();
             QxImplementDao qxProcess=FactoryDao.getFactoryQxImplementDao();
             List qxList = qxProcess.getQxList();
             for (int i = 1; i <= qxList.size(); i++) {

                 qxOptionsStr.append("<option value='"
                         + ((QxVO) qxList.get(i - 1)).getQxId() + "'>"
                         + ((QxVO) qxList.get(i - 1)).getQw() + "</option>\n");

             }
         }
         return qxOptionsStr;
     }

   
     public static StringBuffer getFwlxOptions() {
         if (fwlxOptionsStr == null) {
             fwlxOptionsStr = new StringBuffer();
             FwlxImplementDao fwlxProcess=FactoryDao.getFactoryFwlxImplementDao();
             List fwlxList = fwlxProcess.getFwlxList();
             for (int i = 1; i <= fwlxList.size(); i++) {

                 fwlxOptionsStr.append("<option value='"
                         + ((FwlxVo) fwlxList.get(i - 1)).getFwid() + "'>"
                         + ((FwlxVo) fwlxList.get(i - 1)).getFwlx()
                         + "</option>\n");
             }
         }
         return fwlxOptionsStr;
     }

   
     public static StringBuffer getFwxxStr(String fwxx){
         StringBuffer fwxxRes = new StringBuffer();
         if(fwxx.length()>35){
             int rows = fwxx.length()/35 + 1;
             for(int i=0;i<rows-1;i++){
                 fwxxRes.append(fwxx.subSequence(35*i,35*(i+1))+"<br/>");
               
             }
             fwxxRes.append(fwxx.subSequence(35*(rows-1), fwxx.length()-1));
         } else {
             fwxxRes.append(fwxx);
         }

         return fwxxRes;
     }


}
在jsp 中的用<%=jspUtil.getArrayStr()%> j即可,其他方法一样

如:



<html>

<head>

<title>级联菜单</title>

</head>

<script language="javascript">
<!--

<!--   取得javascript数组信息  -->
<%=JspUtil.getArrayStr()%>
function selectjd(){
  var row = document.houseForm["fzxx.qxid"].value;//alert(row);
  var col = v[row].length;//alert(col);
  document.houseForm["fzxx.jdId"].length = 0;
  document.houseForm["fzxx.jdId"].options[0] = new Option('不限--','0');
  for(var i=0;i<col;i++) {
   if(v[row][i]!=0){
    document.houseForm["fzxx.jdId"].options[i+1] = new Option(n[row][i],v[row][i]);
   }
  }
}

-->
</script>

<body>

<table width="88%;" id="advSearch" style="border:solid 0px #000;display:none;">
  
<tr>
    <td>区县:<br><br><br></td>
    <td><select name="fzxx.qxid" onChange="selectjd()" style="width:80">
    <option value="0">不限--</option>
     <%=JspUtil.getQxOptions() %>

    </select><br><br><br></td>
    <td rowspan="6">&nbsp;<br><br><br></td>
   </tr>
   <tr>
    <td>街道:<br><br><br></td>
    <td><select name="fzxx.jdId" style="width:80">
     <option value="0">不限--</option>
    </select><br><br><br></td>
   </tr>
</table>

</body>

</html>


分享到:
评论

相关推荐

    省市联动级联菜单

    省市联动,利用JS文件,不需要数据库,都写在JS文件里。具体怎么用在代码里一看就懂

    用php+javascript实现二级级联菜单的制作

    大体思路是这样的:为了不让先前的页面刷新,我用iframe潜入了一个二级子页面,用来读取数据库中的数据,最后把想要的数据传递给父级页面,完成数据的选择和转移。 主要程序代码如下(部分代码有改动,但不影响功能...

    javascript实现二级级联菜单的简单制作

    本文实例讲述了javascript实现二级级联菜单的简单制作方法。分享给大家供大家参考。具体如下: 运行效果截图如下: 具体代码如下: &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt; &lt;...

    Ajax 四级导航菜单ASP+Access动态版

    Asp+Ajax无限级联动下拉框菜单Access版 ASP仿Google输入框提示_自动完成功能 AJAX+ASP多级无限制级联菜单(地市版) ASP下结合AJAX实现输入框提示(自动完成) ASP 树形菜单TreeView 多样式版 jQuery实例_飞飞ajax带...

    北京中科信软AJAX培训

    实战技巧:级联菜单 实战技巧:条目内容 实战技巧:级联下拉列表 使用responseXML处理返回的XML信息 实战技巧:获取元对象数据 实战技巧:处理列表数据 实战技巧:处理级联的数据 实战技巧:保存更新数据 在普通文本...

    COURSERA_HTML_CSS_Javascript_Web_Developers:Web开发人员HTML,CSS和Javascript

    Coursera 约翰·霍普金斯大学 欢迎使用面向Web开发人员HTML,CSS和Javascript! 开发环境设置 ...使用Java脚本构建Web应用程序 文档对象模型操纵 Ajax简介 使用Ajax将餐厅网站与真实数据连接起来

    基于javascript实现全国省市二级联动下拉选择菜单

    本文实例讲述了js实现全国省市二级联动下拉选择菜单,分享给大家供大家参考。具体如下: 效果图:   具体代码: &lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=gb...

    javascript实现省市区三级联动下拉框菜单

    本文实例讲述了javascript实现省市区三级联动下拉框菜单代码。分享给大家供大家参考,具体如下 运行效果截图如下:  首先写一个静态的页面: &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;QQ JS...

    精通JavaScript

    • 1.3.js 1.3.htm使用的外部JavaScript文件 第2章(\第2章) • 2.1.htm Infinity应用 • 2.2.htm NaN与isNaN()的用法 • 2.3.htm Infinity值的用法 • 2.4.htm 转义字符的使用 ...

    精通javascript

    • 1.3.js 1.3.htm使用的外部JavaScript文件 第2章(\第2章) • 2.1.htm Infinity应用 • 2.2.htm NaN与isNaN()的用法 • 2.3.htm Infinity值的用法 • 2.4.htm 转义字符的使用 ...

    javascript省市区三级联动下拉框菜单实例演示

    本文实例讲述了javascript实现省市区三级联动下拉框菜单代码,像平时购物选择地址时一样,通过选择的省动态加载城市列表,通过选择的城市动态加载县区列表,从而可以实现省市县的三级联动,下面使用原生的JavaScript...

    javascript实现多级联动下拉菜单的方法

    本文实例讲述了javascript实现多级联动下拉菜单的方法。分享给大家供大家参考。具体实现方法如下: 代码如下: [removed] &lt;!– Begin var arrItems1 = new Array(); var arrItemsGrp1 = new Array(); arrItems1[3...

    javascript支持区号输入的省市二级联动下拉菜单

    省市二级联动下拉菜单,增加了区号输入.多组选项共用一组数据. 选择地区,可以获取区号,填写区号自动选取地区. 某些地市的区号收集中. 省份 选择城区 1)inti(0);findarea();”&gt; 省份 选择城区 1)inti(1);find...

    省市区三级联动下拉框菜单javascript版

    实现省市区三级下拉列表框,并且要实现联动效果。 方法一: 1.视图代码 &lt;select class="prov" id="prov5" name="Province" data-code="@Model.Province"&gt; &lt;/select&gt;...select class="city" id="city5" ...

    javascript实现日期三级联动下拉框选择菜单

    由于工作中涉及到生日编辑资料编辑,年月日用上面网址案例:bug提示: 编辑生日栏的【年】或者【月】,之前保存的具体的【日】就不显示啦,产品说不管编辑哪个数据,其他数据不变; 然后自己改了一下代码: ...

    javascript读取Xml文件做一个二级联动菜单示例

    代码如下: &lt;!DOCTYPE HTML PUBLIC “-//W3C//DTD ... &lt;head&gt; &lt;title&gt;.../title&gt;... [removed] function loadXML(){ var xmlDoc; try{ //IE xmlDoc=new ActiveXObject(“Microsoft.XMLDOM”

    dwr验证框架多级联下拉菜单

    级联菜单 ; charset=gb2312"&gt; &lt;!-- body { margin-left: 0px; margin-top: 0px; background-image: url(Images/bg.gif); } .style1 {color: #FFFFFF} .style2 {color: #a2bcc5} --&gt; ...

    Java学习笔记-个人整理的

    {1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{subsection.1.3.1} {1.4}数据类型}{23}{section.1.4} {...

    asp.net知识库

    使用Relations建立表之间的关系并却使用PagedDataSource类对DataList进行分页 通过作业,定时同步两个数据库 SQLSERVER高级注入技巧 利用反射实现ASP.NET控件和数据实体之间的双向绑定,并且在客户端自动验证输入的...

Global site tag (gtag.js) - Google Analytics