为什么在JS的函数中输出一个html的标签就可以,而输出一个struts的标签就不行
具体JS代码如下:
function output(){
document.write("<form><input type=\"submit\"></form>");//调用这个JS函数的时候在页面上输出一个html标签,可以正确运行
}
function output(){
document.write("<html:form><html:submit value=/"test/"></html:submit></html:form>");
//调用这个JS函数的时候在页面上输出一个struts标签,不能运行
//出的错是:quote symbol expected,也就是红色处必须为引号,但是必须得用转义字符啊,而且输出html标签中也是用了转义字符,也没错啊
}
谁能告诉我为什么?
如果我要在JS函数中输出struts标签,该怎么做?
谢谢
------解决方案--------------------
不行
------解决方案--------------------
------解决方案--------------------
不知道啊!
------解决方案--------------------
这个倒真没有试过,一般动态生成都用的是html的标签。
关注。
------解决方案--------------------
学习
------解决方案--------------------
用js输出struts标签是不能被实现,因为js把struts标签做为字符输出
编译却是由IE去实现转换,iE是无法编译struts标签
------解决方案--------------------
value=/"test/" 斜杠用反了
应该是这样的
value=\"test\"
------解决方案--------------------
这个问题很犀利呀,O(∩_∩)O~
------解决方案--------------------
学习..
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
关注中.........
------解决方案--------------------
qybao 说得对,支持
------解决方案--------------------
同意QYBAO的观点
你可以在打开的页面中点击右键-->查看源代码;
发现普通STRUTS标签在HTML中都是被转义成SCRIPT和HTML语言以后才被发送到客户端的
直接在客户段是不会编译STRUTS标签的;
IE浏览器 只知道 SCRIPT 和HTML 它完全不认识STRUTS >.<
你可以尝试 先把这些STRUTS标签写到页面上 然后跑一次 访问这个界面 把浏览器编译好的 HTML标签语言拿到
然后把编译好的内容写到你的脚本里去动态添加
也许能达到你要实现的效果
------解决方案--------------------
对啊 ,就是客户端和服务器端的问题。
------解决方案--------------------
谢谢分享
------解决方案--------------------
基本概念的问题,Struts标签是服务器端的代码,而html标签是浏览器端的代码,这个区别不知道却在做Web编程的话算是浑浑噩噩稀里糊涂.
所有jsp,servlet,以及jsp中的标签(tag)其实都是java类,它们的作用是根据一定逻辑生成html代码或数据流输出到客户端浏览器,浏览器再根据规范解析生成界面,html与任何语言(java,.net,php)无关。
javascript是客户端脚本,所以它只能改变html的内容,如果输出一个struts标签会当作陌生的html代码来处理,因为html规范中根本没有这个东西。
------解决方案--------------------