js中使用s(c)标签
在js或者jquery中使用s标签,其实并不难理解,s标签也只是一个标签而已,当你想象成js+s标签=js+html标签就理解了
例如:
<script type="text/javascript">
var username = '<s:property value="%{user.username}"/>';
var password = '<s:property value="#session.user.password"/>';
var sex = "";
<s:if test="%{user.flag}">
sex= <s:property value="%{user.sex}"/>;
</s:if>
</script>
通过上面的方式,就可以在js中通过s标签直接获得后台数据,不用通过html标签元素中转或者通过ajax了,够简单
PS:
1、在js中使用s标签进行取值,需要将s标签写在单引号或者双引号内部,否则页面会报警告,如果是<s:if>这样的标签就没有限制了,测试的s标签不多,别的问题就不知道了,嘿嘿
2、如果你想在js文件中使用s标签,是取不出来值的,解决办法是:在纯js的<script>标签内部定义变量并进行取值,然后在js文件中引用你定义的变量
再多说一点:
下面这个例子中单引号的使用在于:通过EL表达式取值,如果取出来,则显示;如果出不出来值,则不显示,也不显示null,如果使用${param.reqFormId}==null做判断,永远也不会相等
例如:注意单引号的使用,也可以是双引号
var pageCount='${pagination.pageCount}';
if(pageCount==1){
alert("ok");
}
或者
if(pageCount==‘1’){
alert("ok");
}
注意单引号
var formId='${param.reqFormId}'==''?'0' : '${param.reqFormId}';
在s标签中使用,脚本标签,位置、单、双引号的使用错误与正确的对比(使用tomcat5.0.28以上版本,tomcat5.0.28一下,下面的方式没有错):
错误:
<% String a = request.getAttribute("key").toString(); %>
<s:if test="<%= a.equals("mainMember") %>"' >
。。。。。。。
</s:if>
错误分析:双引号套用双引号指定是不允许的,所以要将脚本标签外层的双引号改为单引号
<% String a = request.getAttribute("key").toString(); %>
<s:if test='<%= a.equals("mainMember") %>’ >
。。。。。。。
</s:if>
采用这样的方式回报:
The method setTest(String) in the type ElseIfTag is not applicable for the arguments (boolean)
意思是:该方法setTest(字符串)类型ElseIfTag中是不适用的参数值(布尔值)
所以再换一种方式:
<% String a = request.getAttribute("key").toString(); %>
<s:if test='"mainMember".equals(<%=a %>)' >
。。。。。。。
</s:if>
ok,不过我感觉这个和上面那个都是获得的boolean值,但是这个却可以了,没明白,反正遇到这样的问题,就是两个字:折腾,折腾单引号与双引号,折腾标签位置,总会成功的
js中使用s(c)标签的更多相关文章
- JS中对获取一个标签的class的方法封一个库
在JS中我们经常会会用到,获取一个标签的id var aId=document.getElementById("id") 现在虽然有getElementsByClassName这个 ...
- 【js】在js中加HTML注释标签的原因?
<script type="text/JavaScript"> <!-- js代码 //--> //就是这句,为什么还要在-->前加上js注释 < ...
- js中构造字符串若放入Grails中gsp的<g:link>标签出错
Grails的ajax使用json格式返回,在js中构造字符串时若放入<g:link>标签,字符串构造就会错误 如下就会发生错误,导致回调函数无法执行 function show(obj) ...
- js中创建html标签、加入select下默认的option的value和text、删除select元素节点下全部的OPTION节点
<pre name="code" class="java"> jsp 中的下拉框标签: <s:select name="sjx&qu ...
- springboot下html的js中使用shiro标签功能
在js中直接使用shiro标签是不行的 比如 下面有个小技巧
- js中如何删除某个元素下面的所有子元素?(两种方法)
js中如何删除某个元素下面的所有子元素?(两种方法) 一.总结 方法一:通过元素的innerHTML属性 元素element.innerHTML=""; 方法二:通过元素的remo ...
- 遇到问题-----JS中设置window.location.href跳转无效(在a标签里或这form表单里)
问题情况 JS中设置window.location.href跳转无效 代码如下: ? 1 2 3 4 5 6 7 8 <script type="text/javascript&quo ...
- 在js中拼接<a>标签,<a>标签中含有onclick事件,点击无法触发该事件
我们在<a>标签中添加事件一般是onclick="editUser()" 这样添加,在html页面上是行的通的 但是如何你是在js中拼接<a>标签并在< ...
- Dev中控件的js事件代码放在form标签中存在问题
Dev中控件的js事件代码放在form标签中会获取不到(head标签中有其他js代码,未验证是否是这个问题)
随机推荐
- C#联调C++项目
很多人在编写C#代码时,经常要调用C++代码,有时我们通常用打日志来查看运行状况,这当然可以,不过这样挺不方便,一遍遍的跑代码,一遍遍的看日志,感觉如果可以直接把断点打入C++的代码就好了,其实是可以 ...
- sql字符串插入函数STUFF
STUFF (Transact-SQL) SQL Server 2012 其他版本 此主题尚未评级 - 评价此主题 <?XML:NAMESPACE PREFIX = "[default ...
- linux小包集合
mingetty包 getty是Unix类操作系统启动时必须的三个步骤之一,用来开启终端,进行终端的初始化.目前一般常用的getty程序有如下几种:1.agetty(有时直接称为getty):容易设置 ...
- 【转】DNS劫持和DNS污染的区别
什么是DNS服务器? 简单来说,DNS服务器就是域名管理系统. DNS(Domain Name System)是域名解析服务器的意思. DNS服务器是干什么的? DNS服务器在互联网的作用是:把域名转 ...
- PHP 5.6.11 访问SQL Server2008R2
PHP天生支持MySQL,但是有时候也想让它访问SQL Server,该怎么办呢? 最近找了点资料,测试成功了PHP访问SQLSvr的几种情况,限于时间,还没有测试更多不同环境,把测试过的记录如下: ...
- Asp.net中全局缓存的几种方式
public class StaticCacheTest { private static IDictionary<string, object> _dic; private static ...
- java中 == 与 equal区别 转
java中的数据类型,可分为两类:1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==) ...
- Linux 实现自动安装服务组件以及优化内核参数 (转)
安装好Linux裸机后(安装请参考:http://blog.itpub.net/26230597/viewspace-1380155/),还需要在其上安装一些基础组件,一般是手动一个个安装,比较繁复也 ...
- Hive(二):windows hive ODBC 安装
针对Windows 32位和64位的系统对应有多个版本的 Hive ODBC Connector, 在安装的过程中,版本必须完全匹配(即:32位的 connector 只能在32位的系统运行,64位的 ...
- 【linux】ps 命令详解
[root@andon lib]# ps aux ###常用格式 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0 ...