jsp调用js的变量
<%
String num=(String)request.getParameter("inputTagName");
out.print(num);
%>
<html>
<script>
var getNum=window.dialogArguments;
document.getElementById("inputTagName").value=getNum;
fm1.submit();
</script>
<body>
<form action="action.jsp" method="post" name="fm1" id="fm1">
<center>
<table cellspacing="10" >
<tr>
<td>标题:</td>
<td><input id="titleName" /></td>
</tr>
<tr>
<td>作者:</td>
<td><input id="creator"/></td>
</tr>
<tr>
<td>时间:</td>
<td><input id="creatTime"/></td>
</tr>
<tr>
<td>新闻类型:</td>
<td>
<select id="newsType" >
<option>请选择类型</option>
</select>
</td>
</tr>
<tr>
<td>内容:</td>
<td><textarea rows="10" id="content"></textarea></td>
</tr>
</table>
</center>
<div style="position:absolute; left: 837px; top: 15px;">
<p><input value="修改" /></p></div>
<input type="hidden" id="inputTagName" name="inputTagName"> 展开
SP 页面通常嵌入 JS 代码,且 JS、JSP之间需要相互使用一些变量的值,但JSP代码在服务器运行、JS代码在客户端浏览器运行,所以涉及到JS和JSP值传递问题。其交互方式如下:
JS使用JSP中的变量:
<%
String test = "I am testing !"; // JSP片段中定义变量
%>
<SCRIPT LANGUAGE = "JavaScript" >
var tmp = "<%=test %>"; // 通过 "<%=javaCode %>" 引用jsp中的变量、方法等,注意:一定要加双引号
alert(tmp);
</SCRIPT >
扩展资料
Js文件函数中调用另一个Js文件函数的方法:
在项目中Js文件需要完成某一功能,但这一功能的大部分代码在另外一个Js文件已经完成,只需要调用这个文件实现功能。
html 文件
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>html文件</title>
</head>
<body>
<script src="a.js"></script>
<script src="b.js"></script>
</body>
</html>
要想把js的变量传个jsp,办法只有一个:在jsp在客户端生成页面后使用js给jsp的域即input赋值,放在form中再做一次提交。比如:
<form action="action.jsp" method="post" name="fm1" id="fm1">
<input type="hidden" id="inputTagName" name="inputTagName">
</form>
<script>
document.getElementById("inputTagName").value="1234";
fm1.submit();
</script>
这样您就可以在action.jsp页面中使用 request.getParameter("inputTagName"); 获取变量值了。
第一种(页面加载的时候用js给hidden赋值):
1、在<body>标签中加上onload事件
把:
<body>
改为:
<body onload="setValue()">
2、在js中写加载事件方法
把:
<script>
var getNum=window.dialogArguments;
document.getElementById("inputTagName").value=getNum;
fm1.submit();
</script>
改为:
<script>
function setValue(){
var getNum=window.dialogArguments;
document.getElementById("inputTagName").value=getNum;
//alert(document.getElementById("inputTagName").value);//这里取消注释可以查看是否赋值成功
//fm1.submit();//这句不注释就会直接将form里的值提交
}
</script>
第二种(在点击修改时用js给hidden赋值,并将修改内容提交):
1、给修改按钮加个控件类型和点击事件:
把:
<input value="修改" />
改为:
<input type="button" value="修改" onclick="setValue()"/>
2、在js里写个对应的事件方法:
把
<script>
var getNum=window.dialogArguments;
document.getElementById("inputTagName").value=getNum;
fm1.submit();
</script>
改为:
<script>
function setValue(){
var getNum=window.dialogArguments;
document.getElementById("inputTagName").value=getNum;
//alert(document.getElementById("inputTagName").value);//这里取消注释可以查看是否赋值成功
fm1.submit();
}
</script>
常规解决方法:
在jsp中设置一个隐藏元素,如:
<input type='hidden' name='startDate' id='startDate' value=''>
在你的js时间方法中,将的时间值赋给上面的隐藏元素:
document.getElementById('startDate').value = 你得到的时间
最后在jsp中通过request().getParameter()获取
String startDate = request().getParameter("startDate ");
记得将startdate放到form中