`
wangmengbk
  • 浏览: 292293 次
  • 性别: 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>


分享到:
评论

相关推荐

    java实现Ajax级联菜单

    在IT行业中,级联菜单(Cascading Menu)是一种常见的用户界面元素,它允许用户通过多级选择来筛选或导航到特定的信息。在本案例中,我们关注的是如何使用Java和Ajax技术来实现一个二级联动的菜单。Ajax,即...

    jsp实现级联菜单 jsp实现级联菜单

    通过上述步骤,我们已经了解了如何使用JSP技术和JavaScript实现一个简单的级联菜单功能。这种方法不仅适用于简单的省份-城市选择器,还可以扩展到更复杂的多级选择器中。开发者可以根据具体需求调整和优化实现细节,...

    运用ajax+jsp+servlet实现三级级联菜单

    在我们的三级级联菜单中,服务器可能会返回一个包含各级菜单项的JSON数组,供前端JavaScript代码处理。 **JSP (JavaServer Pages)** 是Java平台上的动态网页技术,它可以将Java代码嵌入到HTML页面中,使得服务器端...

    二级级联菜单

    在本例中,我们讨论的是通过JavaScript实现的二级级联菜单,即在一个文本框的选择会影响到另一个文本框的可选项。 一、级联菜单的基本概念 级联菜单由多个层次的菜单项构成,通常表现为一个菜单项展开后显示下一级...

    java js 城市级联菜单xml和sql版

    城市级联菜单是一种常见的前端交互设计,用于在网页上选择地理位置时,如省、市、区,用户在选择一个省份后,下拉菜单会自动更新为对应省份的城市列表。这种功能通常由Java后端和JavaScript前端配合实现,利用XML...

    jsp+Java级联菜单

    JSP与JavaScript级联菜单的概念 级联菜单是一种常见的UI组件,常用于表单或数据筛选场景,如用户选择省份后自动显示对应城市。本示例中,JSP(Java Server Pages)用于处理服务器端逻辑,而JavaScript则负责客户端...

    java web下开发二级级联下拉菜单(数据库实现的)

    首先,我们需要创建一个数据库表来存储级联菜单的数据。假设我们有一个名为`category`的表,它有两列:`id`(主键,整型),`name`(字符串)和`parent_id`(整型,表示父级ID)。`parent_id`为0时代表顶级菜单项,...

    级联菜单 java+dwr

    级联菜单(Cascading Menu)在...总的来说,这个项目旨在教你如何结合Java、DWR和数据库技术实现动态的级联菜单,提高Web应用的交互性。通过实践这个例子,你可以加深对Java后端开发、Ajax通信和前端动态更新的理解。

    java2级级联程序源码

    6. **文档**:提供的"简单级联菜单(java实现).doc"可能包含程序的实现细节,包括代码示例、设计思路和使用说明,对于理解和复用这个程序非常有帮助。 在实际开发中,为了实现这样的功能,开发者需要具备扎实的Java...

    Web树形级联菜单,连接oracle,嵌套ajax

    在Web开发中,树形级联菜单是一种常见的用户界面元素,尤其在数据层次结构复杂的系统中,如组织架构、文件目录或数据库表关系的展示。本项目实现了将这种菜单与Oracle数据库连接,利用Ajax和Servlet技术,实现了动态...

    dwr例子演示级联菜单

    这个例子“dwr例子演示级联菜单”旨在帮助我们理解如何使用DWR来创建动态的、交互式的级联下拉菜单。级联菜单常用于Web应用程序中,例如在选择国家时自动更新相应的省份列表。 首先,让我们了解一下DWR的基本工作...

    js+jsp标签实现页面级联菜单

    本话题主要探讨如何使用JavaScript(js)结合JavaServer Pages(jsp)标签来实现这样的功能。JavaScript是客户端脚本语言,负责处理用户交互,而jsp标签则是在服务器端执行,生成动态HTML内容。 首先,我们需要理解...

    struts2 级联菜单

    以上就是使用Struts2实现级联菜单的基本流程。在实际开发中,你可能还需要考虑错误处理、缓存优化、国际化支持等因素。提供的"级联Demo"压缩包文件可能包含了完成上述步骤的具体示例代码,你可以将其导入到项目中,...

    SSH+级联菜单应用案例

    在这个“SSH+级联菜单应用案例”中,我们将深入探讨如何利用这三个框架来实现一个动态的、具有级联效果的菜单系统。 1. **Struts2框架**:作为MVC(Model-View-Controller)架构的一部分,Struts2负责处理HTTP请求...

    jsp + servlet 级联菜单

    通过这个"jsp + servlet 级联菜单"项目,新手可以学习到如何结合使用JSP和Servlet来构建动态的、交互式的Web应用,理解服务器端与客户端的交互机制,以及数据的获取、处理和展示过程。通过练习,不仅可以提升编程...

    Ajax级联菜单,通过dwr框架实现省份城市级联效果

    在IT行业中,级联菜单(Cascading Menu)是一种常见的用户界面元素,它允许用户在多个相关选项之间进行逐级选择。在这个特定的场景中,我们利用Ajax技术和Direct Web Remoting(DWR)框架来创建一个动态的省份城市...

    jsp+db的js级联菜单

    在本项目"jsp+db的js级联菜单"中,我们看到它利用了Java Server Pages (JSP) 和 JavaScript 技术,并结合数据库来动态生成级联菜单。 JSP是Java的一种视图技术,用于在服务器端生成HTML或其他类型的Web内容。开发者...

    dwr实现2级级联菜单(sql2000 数据库)

    在IT行业中,动态Web应用程序的开发常常涉及到用户界面的交互性,其中级联菜单(Cascading Menu)是一种常见的设计模式,特别是在数据管理和导航中。DWR(Direct Web Remoting)是一个JavaScript库,它允许Java代码...

    dwr 实现 级联菜单 外加一本pdf的参考书

    2. **前端代码**:展示如何在HTML页面中使用JavaScript和DWR API创建级联菜单的结构,并实现事件监听,触发服务器端的方法调用。 3. **后端代码**:解释如何在Java中编写处理级联菜单请求的方法,获取并返回子菜单...

Global site tag (gtag.js) - Google Analytics