js怎么引用JSP里定义的JAVA变量

js怎么引用JSP里定义的JAVA变量,第1张

可以将JAVA变量在JSP头部定义成全局变量。
然后可以分别在JS和JSP里调用。
因为可以将JS和JSP理解为两个相互独立的块。这2个块里面的变量都是局部变量。 而局部变量是不共享的。
首先很基础的:JS可以直接引用JAVA变量,但JAVA不能引用JS变量。因为页面是先编译JAVA再编译JS,代码如下:
String tbname="bd_bank";
outwrite("<SCRIPT language="+"'"+"JavaScript"+"'"+">var tbname="+"'"+tbname+"'"+";</SCRIPT>");
%>
//下面的javascipt可以直接调用变量tbname
<script language="javascript">
alert(tbname);
</script>
//在js文件中的javascipt一样可以直接使用变量 tbname 啊。
<script language="JavaScript" src="/comm/dbgridjs"></script>
反正两个原则记好:
1、jsp代码中可以构造javascipt语句,当然包括定义备用的javascipt的变量
2、理论上在整个页面中,任何一个地方定义的javascript代码都可以被正确使用。javascipt代码对位置不敏感。

你所谓的jsp中的变量(jsp中可以有java代码),是java代码的变量,还是html的变量。
如果是java代码的变量,可以把值放入input录入域中,然后通过js的方法获取,比如通过名称或者id来获取

猪哥解答:
1、如果是想通过JSP中的java代码调用js某函数,假定函数名为DemoFunction,那么就在jsp中这样写<%outprintln("<script>DemoFunction();</script>");%>
2、如果不是想通过java代码调用,那么HTML页面怎么调用的就是怎么调用。

1、首先打开idea软件,新建一个名为jspDemo的项目。如图是新建项目的目录结构。

2、在web文件下的indexjsp文件中输入如下代码。

3、在src目录下,创建一个名为indexServlet的java文件。并输入下面代码。

4、接着在web>WEB-INF目录下的webxml文件中的web-app标签内输入如下代码。

5、接着使用鼠标右键单击indexjsp文件,选择Run 'indexjsp',运行程序。

6、在浏览器中输入“>

7、点击按钮后,会跳转到到js中,并在页面中显示填写的信息。

如果你传一个基本数据给 js 变量,可以这样:
var a = '<%=b%>';//前提 b 在java代码中已定义
-------------------------------------------------------------------
如果要传 javautilHashMap 对象给 js 变量,那就只能先在 java 代码中迭代出你想要的数据结构如 json数据格式 [{a=1,b=2},{a=2,b=3}] ,再传给
js 变量当然你可以用 java 的json 工具类(netsfjsonJSONSerializer)格式化 javautilHashMap 对象成 json 字符串,再传给 js 变量
如 :
-------------------------------------------------------------------
<%@ page language="java" import="javautil,netsfjson" pageEncoding="UTF-8"%>
<%
Map map = new HashMap();
JSONObject jsonObject = (JSONObject) JSONSerializertoJSON(map);
String jsonStr = jsonObjecttoString();
%>
<script>
var jsonStr = '<%=jsonStr%>'
</script>

function deleteM(id){
//直接删掉 数据库假删除
/ alert(id);
$ /("#div"+id)remove();
$ajax({
url:"${pageContextrequestcontextPath}/servlet/MenuServletmethod=delete",
data:"id="+id,
success:function(data){
$("#div"+id)remove();
}
});
}
<body>

This is menu selectAll JSP page <br>
<jsp:include page="/servlet/MenuServletmethod=findAll"></jsp:include>
<p></p>
<div class="table-1">
<div class="tr-1">
<div class="td-1">序号</div>
<div class="td-1">标题</div>
<div class="td-1">连接地址</div>
<div class="td-1">排序</div>
<div class="td-1">录入时间</div>
<div class="td-1"> *** 作</div>
<div class="clear"></div>
</div>
</div>
<c:forEach items="${requestScopemenus }" var="a" varStatus="stat">
<div class="table-1">
<div class="tr-1" id="div${aid}">
<div class="td-1">${statcount }</div>
<div class="td-1">${atitle }</div>
<div class="td-1">${aurl}</div>
<div class="td-1">${asort }</div>
<div class="td-1" id="timer">${ainputTime }</div>
<div class="td-1">
<a href="javascript:void(0)" onclick="javascript:deleteM(${aid})" return false; id="deleteM${aid}">删除</a>
<a href="javascript:void(0)" onclick="javascript:updateM(${aid})" return false; id="updateM${aid}">修改</a>
<a style="display: none;" href="javascript:void(0)" onclick="javascript:submitM(${aid})" return false;id="okM${aid}">确定</a>
<a style="display: none;" href="javascript:void(0)" onclick="javascript:cancalM(${aid})" return false;id="cancalM{aid}">取消</a>
</div>
<div class="clear"></div>
</div>
</div>
</c:forEach>
<p></p>
<p></p>
<div id="table-1">
<c:forEach begin="1" end="${requestScopepagerpageCount }" var="i">
<c:if test="${i eq requestScopepagerpageNo }" var="isPageNo">
<span style="color:black">[${i }]</span>
</c:if>
<c:if test="${not isPageNo }">
<a href="${pageContextrequestcontextPath }/manage/menu/selectAlljsppageNo=${i}">[${i }]</a>
</c:if>
</c:forEach>
</div>
<p></p>
<p></p>
<div id="table-1">
<div class="tr-1">
<div class="td-2" ><a href="javascript:void(0)" onclick="javascript:insertM()">添加菜单项</a></div>
<div class="clear"></div>
</div>
</div>
<div id="table-1">
<div class="tr-1">
<div class="td-2" id=titleInsert>标题:<input required /></div>
<div class="td-2" id="urlsInsert">连接地址:<input required /></div>
<div class="td-2" id="sortInsert">排序:<input required onBlur="checkSort()"/></div>
<div class="td-2" ><a href="#" onclick="javascript:insertM();return false;">添加</a>

<a href="javascript:void(0)" onclick="javascript:cancalM2()">取消</a></div>
<div class="clear"></div>

</div>
</div>
<p></p>
<p></p>
<p></p>
<p></p>
<div id="table-1">
<div class="tr-1">
<div class="td-2" ><a href="javascript:void(0)" onclick="javascript:selectM()">我好想找点什么</a></div>
<div class="clear"></div>
</div>
</div>
<div id="table-1">
<div class="tr-1">
<div class="td-2" > <select id="sss" onChange="selectWay()">
<option value="s1"> 按录入时间查找:</option>
<option value="s2"> 按ID查找:</option>
<option value="s3">按排序查找:</option>

</select>
</div>

<div class="td-2" id="selectMByTime">
开始时间:<input type="datetime-local"/>结束时间:<input type="datetime-local"/>
<a href="javascript:void(0)" onclick="javascript:submitM(${ainputTime})">开找</a>

<a href="javascript:void(0)" onclick="javascript:cancalC(${ainputTime})">取消</a>
</div>
<div class="td-2" style="display: none;" id="selectMById">
ID:<input type="text" />
<a href="javascript:void(0)" onclick="javascript:submitM(${aid})">开找</a>

<a href="javascript:void(0)" onclick="javascript:cancalC(${aid})">取消</a>
</div>
<div class="td-2" style="display: none;" id="selectMBySort">
降序:<input type="radio" name="sort" id="up" checked />倒序:<input type="radio" name="sort" id="desc" />
<a href="javascript:void(0)" onclick="javascript:submitM(${asort})">开找</a>

<a href="javascript:void(0)" onclick="javascript:cancalC(${asort})">取消</a>
</div>
<div class="td-2" style="display: none;" ></div>
</div>
</div>
</body>
没有js的头`他说字数超限了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13383491.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-25
下一篇 2023-07-25

发表评论

登录后才能评论

评论列表(0条)

保存