`
lqixv
  • 浏览: 218340 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

在springside 中关于null参数值的传递

    博客分类:
  • java
阅读更多

我用 springside3 开发时,在我的程序了用到了 树 状结构。

 

我希望我的浏览器在不输入任何参数的情况下,输出根目录下的节点就可以了。我在数据库中,我的记录 根节点 的 父id 为 null。但按照现在 springside 3 的设计,暂时我还找怎么设置参数值为 null 的方法(如果我把 null 作为参数值传递给参数的话,会报异常:Error setting expression 'filter_EQL_parent.id' with value '[Ljava.lang.String;@186948'  / ognl.OgnlException: target is null for setProperty(null, "id", [Ljava.lang.String;@186948)。试了 google 找到的解决办法,1、在实体中添加无参构造函数;2、在 action 中添加一个 get/set 的方法;3、把实体的属性设置为 public ;都几种办法都无效)。

 

我现在的处理方法是,在 dao 层实现。在我的应用 dao 层,我覆盖了 hibernateDAO 中的一个方法,内容如下 :

 

public class CatalogDao extends HibernateDao<Catalog, Long> {

	/* (non-Javadoc)
	 * @see org.springside.modules.orm.hibernate.HibernateDao#findPage(org.springside.modules.orm.Page, java.util.List)
	 */
	@Override
	protected Criterion[] buildPropertyFilterCriterions(final List<PropertyFilter> filters){
		Criterion[] c = super.buildPropertyFilterCriterions(filters);
		if(c.length == 0){
			List<Criterion> list = new ArrayList<Criterion>();
			list.add(Restrictions.isNull("parent"));
			c = list.toArray(new Criterion[1]);
		}
		return c;
	}


}

 

这里的意思是,如果传入的参数个数为 0 个,则,我默认加上一个 parent=null 的参数。这样就达到了:当没有指定参数时,默认取 树根节点 的目的。

分享到:
评论

相关推荐

    SpringSide4 参考手册

    在介绍了常规模块之后,文档还专门提供了一节关于加密技术的章节,包括消息摘要和加密方法,以及如何在SpringSide中使用Crypto组件。 SpringSide还包含了一个定时任务的调度器,支持在Spring应用中进行定时任务的...

    springside-3.2.2源码

    SpringSide 3.2.2 版本是一个成熟的版本,它在之前的版本基础上进行了优化和完善,为开发者提供了更稳定、更高效的支持。通过分析其源码,我们可以深入理解 SpringSide 的设计理念和实现方式,进一步提升我们的 Java...

    springside框架

    在SpringSide框架中,Struts2承担着控制层的角色,负责处理HTTP请求,将数据传递给模型,并将结果呈现给视图。其灵活的拦截器机制和丰富的插件体系,使得开发过程更为简便,同时也支持自定义行为和扩展性。 四、...

    SpringSide3.3.4安装部署

    在 SpringSide3.3.4 安装部署的过程中,我们需要生成 mini-web 项目模板。这个模板将作为我们后续开发的基础。我们可以使用 Maven 的 archetype 机制来生成这个模板。首先,我们需要在命令行中执行以下命令: mvn ...

    springside开发全面讲解

    在学习springside的过程中,首先需要理解Spring框架的基本原理,包括依赖注入、AOP、事务管理等核心概念。然后,深入学习springside各模块的功能及使用方法,如如何配置和启动项目,如何进行模块间的通信等。最后,...

    springside4(showcase)

    在SpringSide 4的showcase中,我们可以期待看到如何有效地利用Spring MVC来构建高效、灵活的Web服务。 首先,Spring MVC的核心组件包括DispatcherServlet、Controller、Model、View和ViewResolver。...

    springside

    在SpringSide的压缩包文件中,"springside"可能是一个示例项目的根目录,包含了项目的所有源代码、配置文件和资源。通过分析这个目录,我们可以学习到SpringSide如何组织项目结构,以及如何配置和使用Spring的各个...

    Springside-core-4.1.0/Springside-core-4.1.0

    本文将深入探讨SpringSide-core-4.1.0的核心特性,以及其在实际项目中的应用。 一、SpringSide概述 SpringSide是一款为Java开发者设计的开源工具集,它提供了大量的最佳实践和示例代码,帮助开发者快速上手Spring...

    springside3.3.4 使用方法

    在本文档中,我们将详细介绍如何使用Springside 3.3.4版本,并特别关注SSH(Spring + Struts + Hibernate)整合的方法。 #### 二、环境配置与准备 1. **安装Java JDK**: - 首先确保已经安装了Java环境,并且设置...

    springside3.0.zip

    本篇文章将深入探讨SpringSide 3.0中的关键知识点,帮助开发者更好地理解和使用这一强大的工具。 1. **Spring框架基础**:Spring是Java领域最著名的轻量级框架之一,它的核心特性包括依赖注入(DI)和面向切面编程...

    SpringSide的Hibernate封装

    3. JDK5的可变参数支持:允许灵活地传递查询参数,支持不同数量的参数组合。 4. Query和Criteria的创建与配置:返回已经设置好基本查询条件的Query和Criteria对象,方便开发者添加更多的查询参数。 5. 分页功能:...

    有springside4.2.3-GA.jar 包

    本文将围绕springside4.2.3-GA.jar这个核心组件,探讨其在Java应用中的重要作用以及如何利用它提升开发效率。 首先,我们需要理解什么是.jar文件。.jar(Java Archive)是Java平台上的归档文件格式,用于集合多个类...

    springside示例quickstart的eclipse工程

    在本文中,我们将深入探讨SpringSide示例Quickstart的Eclipse工程,了解其结构和主要组件,以便更好地利用这个项目进行学习和开发。 首先,"quickstart"是SpringSide项目提供的快速启动模板,它是专门为初学者和有...

    springside3文档资料收录

    SpringSide3不仅包含了Spring框架的核心概念,还涵盖了Spring在实际开发中的各种应用场景,帮助开发者深入理解并熟练运用Spring进行软件开发。 一、Spring框架概述 Spring是一个开源的企业级应用框架,它以依赖注入...

    springside3.3完整版

    本版本,即“springside3.3”,是专为MyEclipse集成环境设计的,包含了完整的功能代码,方便开发者在MyEclipse中进行开发和调试。同时,它还附带了数据.sql文件,意味着我们可以直接导入数据库,快速搭建项目环境。 ...

    springside.jar

    《springside.jar在Java应用中的使用详解》 在Java开发领域,springside.jar是一个备受推崇的开源项目,它为开发者提供了丰富的工具和最佳实践,以简化Spring框架的使用。本文将深入探讨springside.jar的核心功能,...

    springside5

    在SpringSide5中,Shiro被用来实现用户权限控制,提供安全的登录、授权功能,确保只有授权用户可以访问特定资源。 4. **升级POM.xml**:POM.xml是Maven项目的配置文件,升级它可能涉及更新依赖库的版本,解决依赖...

    SpringSide文档.chm

    SpringSide文档.chm。

    springside-案例

    在实际操作中,将SpringSide案例项目导入MyEclipse的步骤通常包括以下几点: 1. **创建新项目**:首先在MyEclipse中创建一个新的Java或Java EE项目,选择合适的项目类型,例如Web工程。 2. **解压项目**:将下载的...

    springside-core-4.2.2.GA(含关联的test.jar)

    pom.xml配置 ...mvn install:install-file -DgroupId=org.springside -DartifactId=springside-core -Dversion=4.2.2.GA -Dfile=./springside-core-4.2.2.GA.jar -Dpackaging=jar -DgeneratePom=true

Global site tag (gtag.js) - Google Analytics