html:optionsCollection 的 filter 过滤属性使用心得 - 解决空格不能显示的问题

前几天遇到一个 Struts 问题如下 :

使用 <html:optionsCollection/>标签显示一个属性值, 这个属性值为 “ XXX”, 看清楚喽,最前面有一个空格, 画面出来以后,发现前面的空格不见了,想办法解决之。

 

查看了网页的源代码如下 :

 

 

肯定显示不出来啊, <option> 标签里要是显示空格,必须使用 &nbsp; 。

 

 好! 问题找到,也容易解决,将 " " 替换为 "&nbsp;" 就 OK 了。 三下五除二搞定,运行。

 

居然显示为 : &nbsp;XXX

 

why?

 

查看网页源代码,如下 :

 

 

我晕,怎么又给我转义了一遍,把前面的 [&] 给转义成 [&amp;], 难怪呢!

 

看来  <html:optionsCollection/> 里肯定有个属性控制特殊字符转义用的,找 struts-html.tld 先, 如下 :

 

 

查阅了<精通Struts :基于MVC的Java Web设计与开发> 一书,解释如下 :

 

默认为 true, 如果 fileter 属性为 true,将把输出内容中特殊 HTML 符号作为普通字符来显示;如果 filter 属性为 false,则不会吧输出内容中特殊 HTML 符号转化为普通字符串。

 

不知道,您看了以后会有怎样的感觉,反正我是感觉相当别扭。

 

其实就是这个意思 :

 

fileter 为 true 的时候, Struts 将会把特殊 HTML 符号进行转义。

fileter 为 false 的时候,Struts 将会把特殊 HTML 符号原本输出。

 

将 <html:optionsCollection/> 的 fileter 设定为 false, 搞定!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以帮您解决这个问题。首先,您需要在微信小程序的后台配置好云开发环境,并创建好一个云数据库集合用于存放投票选项和票数数据。然后,您可以按照以下步骤来实现您的需求: 1. 在小程序页面中定义一个数组变量用于存放所有的投票选项和票数数据: ```javascript var options = []; ``` 2. 在页面加载时从云数据库中获取所有的投票选项和票数数据,并将它们存放在定义好的数组变量中: ```javascript const db = wx.cloud.database(); const optionsCollection = db.collection('options'); optionsCollection.get().then(res => { options = res.data; // 将数组中的每个元素添加一个 count 属性用于记录该选项的票数 options.forEach((option) => { option.count = 0; }); // 更新页面显示 this.setData({ options: options }); }); ``` 3. 在页面中使用 for 循环渲染所有的投票选项: ```html <view wx:for="{{options}}" wx:key="index"> <text>{{item.name}}</text> <text>{{item.count}} 票</text> <button bindtap="vote" data-index="{{index}}">投票</button> </view> ``` 4. 在投票按钮的点击事件中处理投票逻辑,判断是否能够投票并更新选项的票数: ```javascript vote: function(e) { const index = e.currentTarget.dataset.index; const option = options[index]; if (option.count >= 1) { wx.showToast({ title: '不能重复投票', icon: 'none' }); } else { option.count += 1; optionsCollection.doc(option._id).update({ data: { count: option.count } }).then(() => { // 更新页面显示 this.setData({ options: options }); wx.showToast({ title: '投票成功', icon: 'success' }); }); } } ``` 以上就是实现投票小程序的主要代码,其中 options 数组对应云数据库中的集合,通过 get 方法可以获取到云数据库中的所有选项数据并存放到该数组中,然后在页面中通过 for 循环渲染每个选项,并在每个选项的投票按钮点击事件中处理投票逻辑,包括判断是否能够投票以及更新选项的票数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值