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代码,未验证是否是这个问题)
随机推荐
- Python-requests之POST Data的json问题
代码如下: import json import requests r = requests.post(url, data = {"a": json.dumps({"b& ...
- C# 调用 C++ dll (类型对照)
函数调用导致堆栈不对称.原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配. 在dllimport中加入CallingConvention参数就行了,[DllImport(PCAP_DLL ...
- 一个不错的vim配置
set nocp set backspace=indent,eol,start set number set autoindent set nocompatible set bs=indent,eol ...
- 把excel数据生成sql insert语句
excel表格中有A.B.C三列数据,希望导入到数据库users表中,对应的字段分别是name,sex,age . 在你的excel表格中增加一列,利用excel的公式自动生成sql语句,方法如下: ...
- DbContextConfiguration 属性
属性 AutoDetectChangesEnabled 获取或设置一个值,该值指示是否通过 DbContext 和相关类的方法自动调用 DetectChanges 方法. 默认值为 true. Ens ...
- linux node&& npm 安装方式
1. 编译好的文件 简单说就是解压后,在bin文件夹中已经存在node以及npm,如果你进入到对应文件的中执行命令行一点问题都没有,不过不是全局的,所以将这个设置为全局就好了. cd node-v0 ...
- Sql2008 全文索引应用(错误7625)
在SQL Server 中提供了一种名为全文索引的技术,可以大大提高从长字符串里搜索数 据的速度,不用在用LIKE这样低效率的模糊查询了. 下面简明的介绍如何使用Sql2008 全文索引 一.检查服务 ...
- js/jquery 操作document对象
一.获取对象 //js获取的是dom对象,jquery获取的是jquery对象 //jquery对象可以输出dom对象,索引方式输出dom对象,eq()[]方式输出dom对象;eq()输出jquery ...
- CSS position, z-index
position 1.fixed:定位.浮动.(需要搭配left, right) 2.absolute:相对于最近的父元素,不考虑周围的布局.(可使用z-index占据位置,则同一位置层叠) 3.re ...
- sublime_text3 用户配置
{ "auto_complete_triggers": [ { "characters": "", "selector" ...