要实现如下效果,点击右侧的下拉菜单,全部时,列表展示所有数据;现在关注时,列表展示处于关注状态的数据;曾经关注类似。
图一
假设对象是location
其属性“是否关注”定义为:isEmphasis
此属性类型可以为long、boolean、Boolean但是
long除了0和1外,还可以有很多的值(如20,50等),别的开发人员看到此属性不能见名思义的明白此属性是做什么用的。
下面候选的类型还要boolean 和Boolean,
boolean :当需要展示“全部”状态下的列表数据,boolean类型的isEmphasis,值只能是true和false,不能保存别的状态的值,即全部状态的值空字符串“”不能保存,所以不能实现。
所以最终定义isEmphasis的类型为Boolean,此时isEmphasis的值有三种:true,false和null.
页面传值如下代码示例:
图二
结果发现,点击图一的“全部”(即"location.isEmphasis":$("#isLock").val()是""),debug模式,action 中location.isEmphasis的值始终是false.
接下来面临一个问题:
如何把前台jsp页面isEmphasis=null传给action中的Boolean类型的isEmphasis呢?
大家首先要知道:不管是Boolean还是boolean,只要jsp页面传过来属性,如果不是true,其他状态(例如空字符“”,或null)都会被struts2定义为false。因此前台传过来的属性不是true,action接收的此参数的值就会定义为false.
那怎么办呢?别着急,且听我细细分解:
其实只要在所传的参数中不传这个属性,然后action中location对象的此属性isEmphasis就是null了。
图二jsp页面进一步改进如下:
图三
增加判断语句,当$("#isLock").val()="",initParam不传这个属性时,struts2的action中对象location的属性isEmphasis就会是null,
对应的ibatis配置文件要如下写:
图四
用isNotNull 是因为当传过来的isEmphasis是null时,则拼出的sql语句就没有isEmphasis过滤条件,从而把isEmphasis是0和1的状态都查了出来展示在页面上。
即是“全部”状态下的数据。

- 大小: 6.9 KB

- 大小: 114.1 KB

- 大小: 106.8 KB

- 大小: 63 KB
分享到:
相关推荐
在本主题中,我们将深入探讨如何使用Java反射机制将Map转换为Java对象,同时支持Boolean和Date类型的数据。这种转换在处理JSON到对象的映射或者数据库查询结果到对象的映射时非常有用。 首先,我们需要了解Java中的...
基本类型包括byte、short、int、long、float、double、char和boolean,而对象类型包括Byte、Short、Integer、Long、Float、Double、Character和Boolean。Long类型是long类型的包装类,而Byte和Float也是基本类型的...
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Declare Function ...
- `BOOLEAN` 或 `BOOL`:存储真值,取值为`TRUE`、`FALSE`或`NULL`。 8. **NULL类型**: - `NULL`:表示未定义或未知的值。 9. **特殊类型**: - `JAVA_OBJECT`:用于存储Java对象,需要实现SQLData接口。 - `...
boolean isEqual = a.longValue() == b.longValue(); ``` 3. **了解缓存机制**: 了解`Long`和`Integer`的缓存机制可以帮助避免不必要的对象创建,提高性能。 #### 五、总结 在Java开发中,正确地比较`Long`和`...
原始数据类型包括byte、short、int、long、float、double、char和boolean,而引用数据类型则包括类(class)、接口(interface)和数组。在处理数值计算时,我们可能需要在不同数据类型之间进行转换,特别是当涉及到long...
1. BIOKEY算法描述 1 2. BIOKEY SDK架构 3 3. 软件安装 5 3.1光盘文件及目录 5 3.2 软件的安装 6 4、ACTIVEX控件参考 10 4.1属性 10 4.1.1 Active as Boolean 10 4.1.2 EngineValid as ...4.1.15 Threshold As Long 12
' , Optional 返回图像实际宽度 As Long, Optional 返回图像实际高度 As Long) As Boolean Public Function SaveImageAs(LoadImgFile As String, ByVal SaveAsImgFile As String, _ Optional ByVal JpgQuality As ...
F1Engine V0.1 alpha 2011 瞿正峰版权所有,保留所有权利 中国 上海 一、概述 F1Engine V0.1 alpha版本是我用晚上的业余时间写的一个java文件操作组件,... public boolean write(long offset, byte[] bytes);
Java判断Long类型的方法和实例代码 Java是一种流行的编程语言,广泛应用于安卓开发、Web开发、企业软件开发等领域。在Java编程中,我们经常需要判断变量的类型,特别是判断Long类型,因为Long类型是Java中的一种...
| boolean | `Boolean` | | byte | `Byte` | | char | `Character` | | short | `Short` | | int | `Integer` | | long | `Long` | | float | `Float` | | double | `Double` | - **特点**: - 在需要当作...
Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long Const RGN_AND = 1 Const RGN_COPY = 5 Const RGN_DIFF = 4 Const RGN_OR = 2 Const RGN_XOR = 3 Private Type POINTAPI x As Long Y As Long ...
尤其在处理二进制数据时,byte类型与其他数据类型(如String、boolean、int、InputStream等)之间的转换尤为重要。本文档旨在详细介绍byte与各种常见类型之间的转换方法,帮助开发者更好地理解和掌握这一技能。 ###...
java的原始数据类型,也可以叫java的基本数据类型,一共就8个,分别是:byte、short、int、long、boolean、char、float、double 选项B Boolean为基本类型boolean的封装类类型,Boolean也是java的的类型,但是类类型...
byte-Byte short-Short int -Integer long -Long float -Float double -Double char-Character boolean-Boolean 1、所属的包 java.lang 2、类的继承关系、实现接口 前面6个包装类是与数字相关的 父类:Number...
ByVal lX As Long, ByVal lY As Long, _ Optional ByVal bLoop As Boolean = False, _ Optional ByVal lStartSpacing As Long = 128, _ Optional ByVal lEndSpacing As Long = -1, _ Optional ByVal oColor As ...
- **`void TimerControlTrigger(unsigned long ulBase, unsigned long ulTimer, tBoolean bEnable)`**:用于启用或禁用Timer的触发器,`bEnable`为真时启用触发器,反之禁用。 - **`void TimerControlEvent...
long HideTaskBar ( Boolean yesno ) 说明:隐藏系统任务栏,参数 yesno 为逻辑型,为真隐藏,为假恢复 long SetWinDiaph ( long winhd,int diaph ) 说明:设置窗口的透明度,参数说明:winhd 要设置透明的窗口的...
Private Declare Function EbExecuteLine Lib "VBA6.DLL" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As Long ' ("VBA6.DLL", EntryPoint:=...
public static boolean isNull(Object a) { String b = toString(a); return isNull(b);... public static boolean isNull(Long a) { if (a == null) { return true; } else { return false; } }