在js中嵌套java代码

jsp中有时候在js中操作某些java后台传递过来的数据逻辑比较复杂,比如list内容的遍历,可以直接在页面上添加java脚本来执行内容,代码如下:

        //在js中插入java代码操作
        <%
              //取出java后台设置好的userList
              List<Map<String,String>> userList = (List<Map<String,String>>)request.getAttribute("userList");
            //如果userList的值为空则实例化
              if(userList==null){
                  userList = new ArrayList<Map<String,String>>();
              }
        %>
        //如果userList内有数据
          if (<%=userList.size()%>>0) {
          <%
                  //遍历list中的内容
                  for (Map<String,String> user : userList) {
                    String userId = user.get("userId");
                    String userName = user.get("userName");
          %>
                  //在java遍历中调用js方法,传参
                  toAdd("<%=userId%>","<%=userName%>");
          <%
                  }
          %>
        //如果userList中无知就要把java后台设置好的两个参数拿出来做参数
        }else{
            //销售人员ID
             var userId = "${userId}";
               //销售人员姓名
               var userName = "${userName}";
            toAdd(userId,userName);
        }

这样的操作省去了js页面接收java数据的内容,java代码如下:

List<Map<String, String>> mapList = new ArrayList<Map<String,String>>();
Map<String, String> map = new HashMap<String,String>();
map.put("userId", "1");
map.put("userName", "水狼一族");
mapList.add(map);
req.setAttribute("userList", mapList);

原文地址:https://www.cnblogs.com/shuilangyizu/p/9244792.html

时间: 2024-10-06 00:40:59

在js中嵌套java代码的相关文章

jsp页面:js方法里嵌套java代码(是操作数据库的),如果这个js 方法没被调用,当jsp页面被解析的时候,不管这个js方法有没有被调用这段java代码都会被执行?

jsp页面:js方法里嵌套java代码(是操作数据库的),如果这个js 方法没被调用,当jsp页面被解析的时候,不管这个js方法有没有被调用这段java代码都会被执行? 因为在解析时最新解析的就是JAVA代码,不管写哪里,都会最新被解析

JSP中嵌入java代码方式以及指令

JSP中嵌入java代码的三种方式: (1)声明变量或方法 :  <%! 声明; %> :慎重使用,因为此方法定义的是全局变量 (2)java片段(scriptlet):  <% java代码; %> (3)表达式:用于输出表达式的值到浏览器,<%=表达式  %>  在表达式中不能加分号(;) JSP页面的指令 <%@ page %> //这个一般是写在最顶上的比如导入等 <%@ page language="java" impor

分享一个自定义的console类 让你不再纠结JS中的调试代码的兼容

分享一个自定义的console类 让你不再纠结JS中的调试代码的兼容 在写JS的过程中,为了调试我们常常会 写很多 console.log.console.info.console.group.console.warn.console.error代码来查看JS 的运行情况,但发布时又因为IE不支持console,又要去掉这些代码,一不小心就会出错 问题的产生 在写JS的过程中,为了调试我们常常会写很多 console.log.console.info.console.group.console.

MyEclipse中阿里JAVA代码规范插件(P3C)的安装及使用

JAVA代码规范插件(P3C)是阿里巴巴2017年10月14日在杭州云栖大会上首发的,使之前的阿里巴巴JAVA开发手册正式以插件形式公开走向业界.插件的相关信息及安装包都可以在GitHub(https://github.com/alibaba/p3c)上获取.目前插件实现了开发手册中的53条规则,只能满足较为基本的代码检测,后继应该会更加完善. MyEclipse中阿里JAVA代码规范插件(P3C)的安装跟通常的插件安装方法相同,有三种方法. 安装方法: 方法一.MyEclipse中在线安装 1

java基础 第十四章(Servlet声明周期、Servlet向jsp中提供数据、Servlet跳转jsp、jsp中书写java代码)

一.Servlet声明周期 1.Servlet的声明周期一般分为四步:加载.实例化.服务.销毁. 2.实例化在整个生命周期中只执行一次. 二.jsp 1.Servlet向jsp中提供数据 request.setAttribute( , ); 例:request.setAttribute("key" , "Hello"); 2.Servlet跳转jsp (1)同一请求方式:request.getRequestDispatcher("/路径").fo

JSP中嵌入JAVA代码的三种方式

表达式标签 <%= %>  显示功能的标签 作用:计算表达式的值,例如:<%=1+1%>;在页面显示表达式的返回值 注意:<%= %>中不能有分号 声明式标签 <%! %> 作用:声明变量和函数,可以由java代码调用.例如<%! string a="hello world!" %> 注意:1.<%! %>中可以出现分号 2.声明脚本可以放在页面上方或者下方 3.不建议在声明脚本中声明变量,这样会导致线程不安全 普

分享一个自定义的 console 类,让你不再纠结JS中的调试代码的兼容

问题的产生 在写JS的过程中,为了调试我们常常会写很多 console.log.console.info.console.group.console.warn.console.error代码来查看JS的运行情况,但发布时又因为IE不支持console,又要去掉这些代码,一不小心就会出错. 本文分享自己昨晚写的一个console类来试图解决这一问题.当然,更好的做法是把测试代码分开写,那样就不会有这个问题. 解决思路 如何解决IE下不兼容的问题呢,那就是我们自己定义一个console类来覆盖浏览器

如何在Liferay Custom JSP Fragment项目中加Java代码

先附上大神原文链接 Adding Dependencies to JSP Fragment Bundles 在开发Liferay的过程中,我们常常会利用Module Fragment来修改Liferay原有的JSP页面,在修改原有页面的同时,我们还希望加上自己的逻辑,同时加上一些Java代码,这些要如何做到呢? 先占个坑,以后填,附上代码地址https://github.com/JoyeLuo/jsp-fragment

在Android源码中查找Java代码中native函数对应的C++实现

Android源码中很多关键代码都是C++实现的,java通过jni来调用,经常会看到java中这样的代码: static native Thread currentThread(); 如何根据方法名找到其对应的C++实现,有两个方法. 先来个java代码的示例VMThread.java: package java.lang; class VMThread { Thread thread; int vmData; VMThread(Thread t) { thread = t; } native