JSP 标签还是很方便的,比如 Struts、Spring 等提供给我们的 JSP 标签,可以用它们来获取变量或进行一些计算。比如
struts2 的 <s:url value="/admin/unmiaction"/>
会为我们自动在前面附加上应用上下文,如实际会生成
/testsite/admin/unmiaction。还有更多更方便的标签使用,比如用标签获取到 session 或请求中的数据作为 js
的变量等。
引申此话题的,其实不光是在 JS 中使用 JSP 标签,可用 JSP 标签的地方当然可以直接写 Java 代码,即 ScriptLet 代码。
如果是在 JSP 中内嵌的 JS 代码,那当然好办,JSP 文件中能用什么标签,js 代码中也能随便用,因为 JSP 标签会先在服务端解释生成相应的 JS 代码,丢给客户端执行。
那如果是在单独的 JS 文件中想要使用 JSP 标签,该如何办呢?还直接像 JSP 那样使用标签的话,对不起 JS
文件中给你原样显示出来,因为 JS 文件不被服务器端解释。其实到现在问题也基本有了答案,要解决的问题就是要让服务端去解释你的标签,有两种方案。
一 js 文件命名为 JSP 文件,写 js 内容,其中用标签,然后用 <script src="/scripts/tagsjsjsp"></script> 把该 JSP 文件当作 JS 文件那样引入。
因为 JSP 文件会被服务端解释,所以把该 JSP 文件当作 JS 文件来写,JS 文件里应该是什么,你的 JSP
文件也应该输出什么,只是里面可以放标签,要知道它将会输出什么。用 <script> 来引入的话,页面顺理的把它认为是一段外部 JS
代码。
例如文件 /scripts/tagsjsjsp 中的内容是:
<%@ taglib prefix="s" uri="/struts-tags" %>
var currentUser = '<s:property value="#sessionuserName" />';
alert("currentUser: " + currentUser);
那么在某个网页中用 <script src="/scripts/tagsjsjsp"></script> 引入该文件时,上面的 JS 代码将会d出当前 session 中的用户名来。
上面代码执行都没问题的,但是你直接浏览 >
jsp是无法直接或取页面中js变量的值,但是可以通过间接的方法,用html的方法
例如:
<input
id="data"
type="hidden"
value="你想要的数据"
/>
在html里定义一个上面的标签,把js的值放到标签里,然后jsp去获得这个值
通过request的getParameter的方法获取
1、通过requestgetParameter("参数名")获取后台的值
2、通过<%=变量%>的方式赋给js变量
示例:
<script><%
String s2 = (String)requestgetParameter("参数名");//获取后台参数给s2变量,<%%>表示这范围内是服务器解析的语言
%>
var s = '<%=s2%>';//输出s2给js变量s
</script>
以上就是关于怎么在 js 代码中使用 jsp 标签或 Java 代码全部的内容,包括:怎么在 js 代码中使用 jsp 标签或 Java 代码、js如何获取jsp页面中通过数据库取得的值并且予以比较、怎么在jsp页面中获取js的变量值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)