`

javascript 外部文件获取后台变量

阅读更多

java web中,js外部文件如何获取后台的变量呢?

项目使用spring MVC框架,

IDE:eclipse;

使用maven构建

控制器(OsTypeController.java)如下:

package com.ct.web.controller;

import java.util.Date;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.SessionAttributes;

import com.ct.dao.OsTypeDao;
import com.ct.entity.OsType;
import com.time.util.TimeHWUtil;

@Controller
@RequestMapping("/osType")
@SessionAttributes("practiceWay")
public class OsTypeController {

	private OsTypeDao osTypeDao;
	private String redirectViewAll="redirect:/osType/viewAll";
	
	
	@RequestMapping(value = "/add")
	public String addInputOsType(String practiceWay,Model model){
		model.addAttribute("practiceWay", practiceWay);
		System.out.println("practiceWay:"+practiceWay);
		return "osType/addOSType";
	}
	
	/******************************************************************/
	public OsTypeDao getOsTypeDao() {
		return osTypeDao;
	}
	@Autowired
	public void setOsTypeDao(OsTypeDao osTypeDao) {
		this.osTypeDao = osTypeDao;
	}
	
	
}

 控制器方法addInputOsType 对应的页面(addOSType.jsp)如下:

<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<base href="<%=basePath%>">
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title>Insert title here</title> <script type="text/javascript"
		src="<%=path%>/static/js/Module.js"></script>
	<script type="text/javascript" src="<%=path%>/static/js/common_util.js"></script>
	<script type="text/javascript" src="<%=path%>/static/js/test.js"></script>
	
</head>
<body>
	<center>
	<h1><span id="titleSpan">add </span> </h1>
	<input type="hidden" value="${sessionScope.practiceWay}" name="hidpracticeWay" />
	<a href="javascript:history.go(-1)" >return </a>&nbsp;|&nbsp;
	<a href="index.jsp" >index</a>&nbsp;|&nbsp;<a href="osType/viewAll">view all</a>
		<form action="osType/save" name="inputform" >
			<table>
				<tr>
					<td>os name:</td>
					<td><input type="text" name="name" /></td>
				</tr>
				<tr>
					<td colspan="2" ><input type="submit"
						value="&nbsp;&nbsp;o&nbsp;k&nbsp;&nbsp;" id="submit_btn" /></td>
				</tr>
			</table>
			<div id="hidden_div"></div>
		</form>
	</center>
</body>
</html>

 其中外部js文件(test.js)如下:

alert("111:${sessionScope.practiceWay}");
window.onload =function a()
{
	alert("method:a");
	alert("444:${sessionScope.practiceWay}");
	alert("hid:"+document.getElementsByName("hidpracticeWay")[0].value);
};

 在浏览器中输入http://localhost:8088/demo_channel_terminal/osType/add?practiceWay=random

运行结果:

 

对应的是外部js文件(test.js)的执行结果。

所以我们可以得出结论:

在外部js文件获取后台变量的方式就是通过获取页面隐藏域的值

具体步骤:

(1)把后台变量设置到页面隐藏域中,例如

<input type="hidden" value="${sessionScope.practiceWay}" name="hidpracticeWay" />

 (2)在外部js文件中获取隐藏域的值,例如

alert("hid:"+document.getElementsByName("hidpracticeWay")[0].value);

那么在jsp页面中的js代码中如何获取后台变量的值呢?

请参阅我的下一篇日志 

 

附件是项目,采用maven构建

  • 大小: 15 KB
0
0
分享到:
评论

相关推荐

    Javascript资料

    6. **异步编程**:JavaScript的非阻塞特性使得它非常适合处理异步任务,如Ajax请求、定时器(setTimeout、setInterval)和Promise,这些都用于处理后台通信和复杂交互。 7. **ES6新特性**:ECMAScript 6(ES6,也...

    在 thymeleaf网页中,js获取model中的数组列表.txt

    在thymeleaf网页中,js获取后台model传递过来的对象很重要,这对减少数据库...获取model传过来的简单变量很简单,但是获取它传过来的对象不容易。 本例是js获取后台通过model传过来的数组列表,希望对同人们有所帮助。

    ajax异步回调函数中给外部变量赋值的问题探讨

    针对ajax异步回调函数中给外部变量赋值的问题,还可以使用一些现代JavaScript的特性来解决。例如,Promise对象提供了一种管理异步操作的方法。通过创建一个Promise实例,我们可以将异步操作的结果与相关联的then()或...

    JavaScript高级编程 pdf

    3. **闭包**:闭包是JavaScript中的一个重要概念,它允许函数访问并操作外部作用域的变量,同时保持自身的独立性。 4. **异步编程**:JavaScript是单线程执行的,因此异步处理(如回调函数、Promise、async/await)...

    五天学会javascript

    闭包则是函数内部能够访问其外部作用域变量的能力,是JavaScript中实现数据封装和模块化的重要手段。 4. **事件处理**:在Web开发中,JavaScript通过监听和响应用户或浏览器的事件(如点击、滚动、加载等)来实现...

    javascript10源码大全

    闭包是一种特殊的函数,它可以访问并操作外部作用域的变量,即使在其外部函数已经执行完毕的情况下。 3. **原型与继承**:JavaScript的继承基于原型链,每个对象都有一个[[Prototype]]内部属性,可以通过__proto__...

    边用边学JavaScript,好资料

    闭包是JavaScript中的一个重要概念,它允许函数访问并操作其外部的变量,即使在其外部函数已经执行完毕后。 事件和事件处理是JavaScript与用户交互的关键。点击、鼠标移动、键盘输入等都是常见的浏览器事件,...

    JavaScript Best Practices & Tricks

    2. **保护私有变量**:虽然JavaScript没有真正的私有变量,但可以使用伪私有变量(如在变量名前加下划线 `_myPrivate`)来遵循编程约定,限制外部访问。 3. **模式与封装**:学习和应用常见的设计模式,如模块模式...

    JavaScript经典代码收集

    10. **闭包**:闭包是函数和其词法作用域的组合,允许函数访问和操作外部作用域的变量,即使在其外部定义的函数已经执行完毕。 11. **正则表达式**:JavaScript的RegExp对象支持正则表达式,用于模式匹配和字符串...

    javascript帮助文档

    闭包是JavaScript的另一个重要特性,它能访问并操作外部作用域的变量,即使该作用域已关闭。 总之,“javascript帮助文档”涵盖了JavaScript的基础到高级概念,包括变量、数据类型、流程控制、函数、对象、类、DOM...

    超酷超经典JavaScript代码

    通过`XMLHttpRequest`对象或者现代浏览器的`fetch` API,可以实现后台数据的获取和提交。 5. **面向对象编程**:JavaScript支持基于原型的面向对象编程,通过`Object.create`, `prototype`, `constructor`等特性,...

    JavaScript应用实例集合

    5. **闭包**:JavaScript中的闭包是函数和其相关的词法环境的组合,它允许函数访问和修改外部作用域的变量,即使在函数执行后,这些变量仍然存在。 6. **原型链**:JavaScript的对象继承基于原型链机制,每个对象都...

    javascript代码大全

    7. **闭包**:闭包是JavaScript中的一个重要概念,它允许一个函数访问并操作其外部作用域的变量,即使在其外部函数已经执行完毕后。 8. **异步编程**:JavaScript是单线程的,但通过回调函数、Promise和async/await...

    Laravel开发-javascript

    在这种情况下,可以利用Laravel的`asset`或`elixir`函数引用外部JS文件,然后在服务器端生成一个包含PHP变量的JSON文件,供JS文件加载和解析。 5. **使用`vue-resource`或`axios`库**:如果应用使用Vue.js或其他...

    javascript中文学习文档

    6. **闭包**:闭包是JavaScript中的一个重要概念,它可以访问并操作外部作用域的变量,即使外部函数已经执行完毕。 Ajax核心技术: 1. **XMLHttpRequest对象**:Ajax的核心是XMLHttpRequest,它是一个浏览器内置的...

    大工21秋《JavaScript基础教程与应用》在线作业123辅导答案.docx

    外部 JavaScript 文件的文件扩展名是 .js。 以下是 JavaScript 的一些重要知识点: * 变量声明:JavaScript 中的变量声明使用 var 关键字,例如 var x = 2; * 数据类型:JavaScript 中有多种数据类型,包括数字、...

    javaScript应用客户端编程

    4. **闭包**:JavaScript的闭包特性允许函数访问和修改外部作用域的变量,是实现模块化和封装的重要工具。 5. **定时器**:setInterval和setTimeout函数可以让JavaScript在特定时间间隔执行任务,常用于动画效果或...

    JavaScript 语言参考 中文版(CHM)

    3. **作用域和闭包**:理解变量的作用域(全局、局部、块级),以及闭包如何在函数内部访问外部作用域的变量,这是JavaScript中重要的高级特性。 4. **异步编程**:包括回调函数、Promise、async/await等,用于处理...

    带后台的图片轮播代码

    2. 文件上传:了解PHP的`$_FILES`全局变量,以及如何安全地处理文件上传,防止恶意文件注入。 3. 图片处理:可能需要对上传的图片进行缩放、裁剪等操作,可以使用GD库或Imagick扩展。 4. JavaScript基础:编写动态...

Global site tag (gtag.js) - Google Analytics