各位大侠有谁知道如何让我的struts标签在这个JS中可以使用

如图所示是我的JS代码,alert并没有往出弹对话框啊。。。是struts标签在js中不能使用吗?那我需要怎么改一下吗?我是初学者。。。谁会指点下啊。。。... 如图所示是我的JS代码,alert并没有往出弹对话框啊。。。是struts标签在js中不能使用吗?那我需要怎么改一下吗?我是初学者。。。谁会指点下啊。。。 展开
 我来答
墨亦竹
推荐于2016-10-09 · TA获得超过446个赞
知道答主
回答量:63
采纳率:0%
帮助的人:68.1万
展开全部

如果有学javaEE,请去重温servlet、jsp的基础知识。弄清楚基本概念,面对这样的问题……

  1. struts标签写在jsp里,jsp是服务器端代码,jsp既是servlet,编译之后为class字节码

  2. javascript为浏览端解释执行代码在客户端,写在jsp里的javascript会被向浏览器输出,而不是在jsp脚本里执行。struts标签是在服务器端完成的,js是在前端执行的,所以没有“struts标签在js中使用这种说法”,struts标签先执行,然后和写在jsp里的js一起被输出到浏览器,jsp输出到浏览器的不是struts标签,而是执行过之后js字符串,在前台只有javascript代码执行,没有struts标签.

  3. 上面两条只是想让你弄清楚基本概念,懂了这些基本概念即不存在上面的问题了,你需要知道这个执行顺序,jsp中的jsp标签,ognl表达式如果是struts2的话,还有EL,JSTL表达式在jsp编译的时候是个顺序,html、css、javascript的执行时机

  4. 最好不要把jsp脚本和js脚本写到一起,他们不是一种语言,不同时执行,乍一看起来还容易让你误解,而且很难维护,因为你struts处理的是后台逻辑,js处理的是前台逻辑.

fuhaiwei
2013-07-30 · TA获得超过3409个赞
知道大有可为答主
回答量:974
采纳率:75%
帮助的人:1375万
展开全部
    <script type="text/javascript">
        function showMsg() {
            <s:if test="#parameters.msg==null">
                alert("no msg");
            </s:if>
            <s:else>
                alert("<s:property value='#parameters.msg' />");
            </s:else>
        }
    </script>
    <button type="button" onclick="showMsg()">showMsg</button>

一般来说Js代码是不能引用Struts标签的。

因为Struts标签是运行在页面生成之前,JS代码是运行在页面生成之后。


不过我们可以利用Struts标签来构造JS代码,间接达成Struts标签控制JS效果的作用。

关键看你的逻辑对不对。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0487c2d
2013-07-30
知道答主
回答量:15
采纳率:0%
帮助的人:9.1万
展开全部
js有自己的 for 和 if 语句。你为什么还要用 struts 在 js 中使用了?
for(var i=0;i< spjList.length; i++)
{
}
if(sphere[0]==treenode.id)
{
}
难道你是因为不会在 js 中取 el 表达式的值?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lwg543848d66b6
2013-07-30 · TA获得超过605个赞
知道答主
回答量:124
采纳率:0%
帮助的人:66万
展开全部
大啊啊啊啊啊啊啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式