`
peonyzzdx
  • 浏览: 595464 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

Boolean、boolean、long

    博客分类:
  • J2EE
阅读更多
要实现如下效果,点击右侧的下拉菜单,全部时,列表展示所有数据;现在关注时,列表展示处于关注状态的数据;曾经关注类似。



                
  图一


假设对象是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
0
0
分享到:
评论

相关推荐

    使用Java反射机制将Map转换为Java对象,支持Boolean、Date类型

    在本主题中,我们将深入探讨如何使用Java反射机制将Map转换为Java对象,同时支持Boolean和Date类型的数据。这种转换在处理JSON到对象的映射或者数据库查询结果到对象的映射时非常有用。 首先,我们需要了解Java中的...

    Java中long类型与Long类型的区别和大小比较详解

    基本类型包括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 ...

    Derby数据库支持的数据类型

    - `BOOLEAN` 或 `BOOL`:存储真值,取值为`TRUE`、`FALSE`或`NULL`。 8. **NULL类型**: - `NULL`:表示未定义或未知的值。 9. **特殊类型**: - `JAVA_OBJECT`:用于存储Java对象,需要实现SQLData接口。 - `...

    细数java中Long与Integer比较容易犯的错误总结.docx

    boolean isEqual = a.longValue() == b.longValue(); ``` 3. **了解缓存机制**: 了解`Long`和`Integer`的缓存机制可以帮助避免不必要的对象创建,提高性能。 #### 五、总结 在Java开发中,正确地比较`Long`和`...

    long 和 int 的相互转换.docx

    原始数据类型包括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

    视频缩略图生成组件,图像格式转换另存为jpg, png, gif, bmp格式

    ' , 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

    F1Engine V0.1 alpha 2011 瞿正峰版权所有,保留所有权利 中国 上海 一、概述 F1Engine V0.1 alpha版本是我用晚上的业余时间写的一个java文件操作组件,... public boolean write(long offset, byte[] bytes);

    java判断Long类型的方法和实例代码

    Java判断Long类型的方法和实例代码 Java是一种流行的编程语言,广泛应用于安卓开发、Web开发、企业软件开发等领域。在Java编程中,我们经常需要判断变量的类型,特别是判断Long类型,因为Long类型是Java中的一种...

    Java实训教程 Java软件开发实战 Java类库 第3章 包装器类等 共40页.pptx

    | 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与各类型之间的转化

    尤其在处理二进制数据时,byte类型与其他数据类型(如String、boolean、int、InputStream等)之间的转换尤为重要。本文档旨在详细介绍byte与各种常见类型之间的转换方法,帮助开发者更好地理解和掌握这一技能。 ###...

    java面试题

    java的原始数据类型,也可以叫java的基本数据类型,一共就8个,分别是:byte、short、int、long、boolean、char、float、double 选项B Boolean为基本类型boolean的封装类类型,Boolean也是java的的类型,但是类类型...

    java包装类相关方法.txt

    byte-Byte short-Short int -Integer long -Long float -Float double -Double char-Character boolean-Boolean 1、所属的包 java.lang 2、类的继承关系、实现接口 前面6个包装类是与数字相关的 父类:Number...

    基于VB的文字动画特效

    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 ...

    \EasyARM1138开发指南\【09】通用定时器

    - **`void TimerControlTrigger(unsigned long ulBase, unsigned long ulTimer, tBoolean bEnable)`**:用于启用或禁用Timer的触发器,`bEnable`为真时启用触发器,反之禁用。 - **`void TimerControlEvent...

    多功能 DLL 动态库

    long HideTaskBar ( Boolean yesno ) 说明:隐藏系统任务栏,参数 yesno 为逻辑型,为真隐藏,为假恢复 long SetWinDiaph ( long winhd,int diaph ) 说明:设置窗口的透明度,参数说明:winhd 要设置透明的窗口的...

    VB6 执行String语句

    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:=...

    Java工具类

    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; } }

Global site tag (gtag.js) - Google Analytics