导航:首页 > 编程语言 > js中能不能写java

js中能不能写java

发布时间:2024-12-18 13:11:40

A. js中可以调用java代码

js不能直接调用java代码。
可以通过页面提交后台的方式,间接调用后台的服务java代码。
也可以通过ajax的方式,调用后台的服务java代码。
两种方式稍有差别,不过都是前后台的通信交互。

B. 在js脚本中可以通过<% %>,来嵌入java脚本吗

js变量获取jsp页面中java代码的变量值方法:
var
JS变量名
=
<%=JAVA变量名
%>
;
如果JAVA变量名的值本来含有引号,则这里需要转义。
注意:JSP的动态内容,JS可以得到Java变量。而利用通讯协议转化,和语言无关。

C. 在js脚本中可以通过<% %>,来嵌入java脚本吗

js变量获取抄jsp页面中java代码的变量值方法:
var JS变量名 = <%=JAVA变量名 %> ;
如果JAVA变量名的值本来含有引号,则这里需要转义。

注意:JSP的动态内容,JS可以得到Java变量。而利用通讯协议转化,和语言无关。

D. 学java开发需要学习js吗


在回答这个问题之前,我想先澄清一点:学习Java开发与学习JavaScript(简称JS)并不是互为依赖的关系。也就是说,你可以只学习Java而不学习JS,同样也可以只学习JS而不学习Java。它们分别是两种不同的编程语言,用于解决不同的问题。
然而,在实际的开发工作中,Java和JS往往会结合使用。特别是在Web开发中,Java通常用于后端开发,处理服务器端的逻辑和数据存储;而JS则用于前端开发,负责与用户进行交互和页面的动态展示。因此,如果你希望成为一名全栈开发工程师,或者希望更好地理解整个Web开发流程,那么学习JS会是一个不错的选择。
但这并不意味着你必须在学习Java的同时学习JS。你可以根据自己的兴趣和职业规划来决定学习的顺序和重点。如果你主要关注后端开发,那么可以先专注于Java的学习;如果你对前端开发更感兴趣,那么可以先学习JS。
从我个人的经验来看,我在学习Java开发的过程中,并没有立即学习JS。而是在对Java有了一定的掌握之后,才开始接触JS。我发现这样的学习路径对我来说是比较自然的,因为我可以先将注意力集中在一种语言上,避免过早地分散精力。同时,当我开始学习JS时,由于我已经有了编程的基础,所以上手也比较快。
总的来说,学习Java开发是否需要学习JS并没有固定的答案。这取决于你的职业规划和兴趣爱好。但无论你选择什么样的学习路径,只要保持积极的学习态度和持续的努力,就一定能够取得成功。
另外,你提到的“半个月左右”这个时间点,我认为是一个比较合理的时间段来开始考虑是否需要学习JS。在半个月的时间里,你可以对Java有一个初步的了解和掌握,然后根据自己的学习情况和兴趣来决定是否进一步学习JS。

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

可以将JAVA变量在JSP头部定义成全局变量。
然后可以分别在JS和JSP里调用。
因为可以将JS和JSP理解为两个相互独立的块。这2个块里面的变量都是局部变量。而局部变量是不共享的。
首先很基础的:JS可以直接引用JAVA变量,但JAVA不能引用JS变量。因为页面是先编译JAVA再编译JS,代码如下:
String tbname="bd_bank";
out.write("<SCRIPT language="+"'"+"JavaScript"+"'"+">var tbname="+"'"+tbname+"'"+";</SCRIPT>");
%>

//下面的javascipt可以直接调用变量tbname
<script language="javascript">
alert(tbname);
</script>

//在js文件中的javascipt一样可以直接使用变量 tbname 啊。
<script language="JavaScript" src="../comm/dbgrid.js"></script>

反正两个原则记好:
1、jsp代码中可以构造javascipt语句,当然包括定义备用的javascipt的变量
2、理论上在整个页面中,任何一个地方定义的javascript代码都可以被正确使用。javascipt代码对位置不敏感。

F. 在html页面中的js段里写的java语句在什么时候执行

页面加载时。会编辑,页面的所有内容。包括JS 。。和java 代码。。但不会执行。遇到错误,会提示错误。也可能会页面显示异常。你在JS方法里面写的java 代码是在。你调用该JS方法的时候执行java 代码。不清楚的可继续追问。

G. 单独的js文件,怎样才能使用Java代码

不能在里面写java代码,不过你可以把相应的数据做成js函数的参数
在jsp页面调用时,根据java代码,传递相应的参数过去

H. 怎么在 js 代码中使用 jsp 标签或 Java 代码

JSP 标签还是很方便的,比如 Struts、Spring 等提供给我们的 JSP 标签,可以用它们来获取变量或进行一些计算。比如
struts2 的 <s:url value="/admin/unmi.action"/>
会为我们自动在前面附加上应用上下文,如实际会生成
/testsite/admin/unmi.action。还有更多更方便的标签使用,比如用标签获取到 session 或请求中的数据作为 js
的变量等。

引申此话题的,其实不光是在 JS 中使用 JSP 标签,可用 JSP 标签的地方当然可以直接写 Java 代码,即 ScriptLet 代码。

如果是在 JSP 中内嵌的 JS 代码,那当然好办,JSP 文件中能用什么标签,js 代码中也能随便用,因为 JSP 标签会先在服务端解释生成相应的 JS 代码,丢给客户端执行。

那如果是在单独的 JS 文件中想要使用 JSP 标签,该如何办呢?还直接像 JSP 那样使用标签的话,对不起 JS
文件中给你原样显示出来,因为 JS 文件不被服务器端解释。其实到现在问题也基本有了答案,要解决的问题就是要让服务端去解释你的标签,有两种方案。

一. js 文件命名为 JSP 文件,写 js 内容,其中用标签,然后用 <script src="/scripts/tags.js.jsp"></script> 把该 JSP 文件当作 JS 文件那样引入。

因为 JSP 文件会被服务端解释,所以把该 JSP 文件当作 JS 文件来写,JS 文件里应该是什么,你的 JSP
文件也应该输出什么,只是里面可以放标签,要知道它将会输出什么。用 <script> 来引入的话,页面顺理的把它认为是一段外部 JS
代码。

例如文件 /scripts/tags.js.jsp 中的内容是:

<%@ taglib prefix="s" uri="/struts-tags" %>
var currentUser = '<s:property value="#session.userName" />';
alert("currentUser: " + currentUser);

那么在某个网页中用 <script src="/scripts/tags.js.jsp"></script> 引入该文件时,上面的 JS 代码将会弹出当前 session 中的用户名来。

上面代码执行都没问题的,但是你直接浏览 http://unmi/testsite/scripts/tags.js.jsp 你看到的是挤在一团的代码,不像查看普通 JS 文件那样有清晰的换行和退格,原因是浏览器默认只认扩展名,它的 mime 类型,也就是 Content-Type text/html。要让它更像是个 JS 文件那得给它加上响应类型的设置,在 tags.js.jsp 文件第一行加上:

<%response.setContentType("text/javascript;charset=utf-8");%>

这时候对于浏览器来说,无论从哪个方向来看它都是个切切实实的 JS 文件,只扩展名不同罢了。

上面的方法实际表现是没什么问题的,不过还有两点不那么完美,第一,文件名看起来像 JSP 文件,有些令人误解;第二,在 IDE 中打开该 JSP 文件,没法应用 JS 的语法加亮,给编辑带来不少麻烦。下面的方法充分解决前面两个问题。

二. 直接在 JS 文件中使用 JSP 标签

讲下原理,不是说应用服务器端默认不解释 JS 中的标签吗,那我们可以让个别的 JS 文件同样受到服务器端的关注,不是把 js 原文直接抛给客户端,而是先解释其中的标签,或是其中的 java 代码。

Tomcat 这种应用服务器我们通常也会称它为 Servlet 容器,因为它执行的是 Servlet,JSP 自然也是 Servlet。在 %TOMCAT_HOME%/conf/web.xml 中我们可以看到实际处理 JSP 文件的 Servlet 是:

<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jspx</url-pattern>
</servlet-mapping>

org.apache.jasper.servlet.JspServlet,所以我们可以在自己应用的 web.xml
文件中配置某些特别的文件同样由 JspServlet 来处理。比如要特别处理 /scripts/tags.js 文件,在应用的 web.xml
中只要加上:

<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>/scripts/tags.js</url-pattern>
</servlet-mapping>

注意,上面是 Tomcat 6.x 或更早版中应用的 web.xml 的写法,后来 servlet-mapping 中
url-pattern 可同时写多个,加上 Tomcat 7 自身的古怪,这一设置会覆盖掉原 jsp 的设置,所以在 Tomcat 7
中应用必须配置成如下(也就是必须默认项也带上,然而列出自己的希望被当作 jsp 的 js 文件,可多个,不把 *.jsp/*.jspx
带上的话,你原有的 jsp 会当作文本文件直接展示出源码来):

<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
<url-pattern>*.jspx</url-pattern>
<url-pattern>/scripts/tags.js</url-pattern>
</servlet-mapping>

我们配置 /scripts/tags.js 要由 JspServlet 来处理,不会影响到现有的其他任何 JS 文件。

那现在的 /scripts/tags.js 可不是普通的 js 文件了,它可是具有放置 JSP 标签和写 Java
代码的超能力了,因为其中的 JSP 标签和 Java 代码首先会经由服务端来解释。它集 JS 和 JSP 于一身,另外也别忘了给该 JS
文件前面加上代码:

<%response.setContentType("text/javascript;charset=utf-8");%>

不然单独浏览它也就只是不那么好看。

无疑,这是目前我能想的最完美的一种方式了,且兼容于其他的 Servlet 容器,也不用改动公共部分的东西。/scripts/tags.js 在 JS IDE 中打开也漂亮多了,因为它就是个 JS 文件,只是被赋予了 JSP 的功能。

阅读全文

与js中能不能写java相关的资料

热点内容
上传云端拍照数据去哪里找 浏览:404
linux文件修改不能保存 浏览:299
安卓手机网络切换如何设置 浏览:545
哪里可以免费得数据 浏览:29
oracleexcel文件导入 浏览:885
泳装一件代发网站有哪些 浏览:628
护士怎么学好编程 浏览:374
哪些医疗数据不能交易 浏览:302
数据线插到电脑的哪里 浏览:549
数控编程501至510代表什么 浏览:979
企业采购app哪个靠谱 浏览:614
如何给文件夹权限 浏览:819
运城网络推广包括什么 浏览:351
win10更新在那个文件夹 浏览:898
讲解古文的app有哪些 浏览:141
如何把文件夹导入到手机桌面 浏览:941
运营商文件修改路径 浏览:253
找工作的卡通微信图片 浏览:129
ae源文件的格式是 浏览:330
qq群文件分类管理 浏览:112

友情链接