JSP与JS相互传值相关问题
来源:互联网 发布:平衡面板数据 编辑:程序博客网 时间:2024/05/16 01:10
这个问题很久之前就想到了,只不过中间一直在忙就忘掉了,今天在做新系统时,看到了另一种的写法,借此机会,就想把这个问题翻出来,理一理。。。我说的这个传值不是指html标签里的属性或者text,而是一些需要从后台获取值,然后将值传递到js文件中使用,如下面
<%@page import="com.value.demo.ObtainValue"%><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><%String value = ObtainValue.getStrValue();%><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><script type="text/javascript">var valueJs = "<%=value%>";</script><script type="text/javascript" src="index.js"></script><title>Insert title here</title></head><body><input type="button" id='button' value="click me" onclick="Index.alertStr();"></body></html>
我现在使用的是这样的写法,js与jsp值以“var value = “<%=value%>”;”这样的方式来实现值在js与jsp之间的传递,这里要注意的是,引入的js文件一定要写在后面,否则页面加载完有会报XXX is undefined。。。
这样js就可以直接使用valueJs。
这样写法虽简单,但是有时会让人一头雾水,当别人来接管这一块的代码的时候,他会在js代码里找不到这个变量定义的地方,因为这个变量是在jsp页面定义的,自己就遇到过这个问题,找了半天突然醒悟,原来是在jsp里。
今天遇到另一种写法,js是这样写的
var Index2 = function(){ var value = ""; return { setValue:function(s){ value = s; }, getValue:function(){ return value; }, alertStr : function(){ alert(value); } }}();
注意set和get方法,
jsp再这样写
<script type="text/javascript" src="index2.js"></script><script type="text/javascript">Index2.setValue("<%=value%>");</script>
让我奇怪的事来了,使用set之后,不需要使用get方法,就可以在js里使用value这个变量了。后来发觉是上面js的方法自动解析get方法,分然后value就有值了。。。
这里要注意的是,js引入的代码要写在前面。
以上两种方法都能完成传值,那么问题来了。。。学挖掘机哪家强?
开玩喜了,现在就想研究一下这两种方法的执行效率和可维护性哪个更高一些,说白了就是哪个比较正规一些。。。。
这些问题有待解决。。。
0 0
- JSP与JS相互传值相关问题
- jsp与servlet传值相关问题
- JSP与JS交互问题,值传递
- js与jsp之间取值问题
- js变量与jsp中变量的相互传递
- js中使用jsp声明变量方法 + js访问servlet及相互传值方法
- JSP相关的一些问题与分析
- PHP与js中的变量值相互转换(传送)问题
- js与jsp传递中文乱码问题
- js与jsp传递中文乱码问题
- jsp与js之间变量赋值问题
- jsp页面中js代码与java代码的相互调用
- JSP乱码问题相关
- jsp相关问题
- Jsp相关问题
- JSP相关问题
- JSP页面与后台传值问题
- jsp与servlet的传值问题
- Android学习笔记
- 最优估计书籍推荐
- Nginx 的启动、停止、平滑重启、信号控制和平滑升级
- 内存对齐的相关规则及计算
- leetcode 299 Bulls and Cows
- JSP与JS相互传值相关问题
- hive中简单介绍分区表(partition table),含动态分区(dynamic partition)与静态分区(static partition)
- Find Minimum in Rotated Sorted Array II
- [Linux]
- ES6个人学习整理(二)——let和const
- iOS开发~CocoaPods使用详细说明
- 当输入流和输出流同时作用一个文件
- 运行于x86机器上的FreeBSD的PCI中断
- IO(输出流)