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

springside的filter查询

阅读更多

在做一个有关联关系的User,Department两个对象的查询时,出了点问题。

这两个对象是many-to-one关系,先贴两个对象的实体类代码。

Department.java

@OneToMany(cascade =
	{ CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE, CascadeType.REFRESH }, fetch = FetchType.LAZY, mappedBy = "department")
	public Set<User> getUsers()
	{
		return users;
	}

  User.java 

@ManyToOne(cascade =	{ CascadeType.REFRESH, CascadeType.MERGE }, optional = false)	
@JoinColumn(name = "depa_Id")
	public Department getDepartment()
	{
		return department;
	}

 情况是一个界面 左边是个Department的树,右边是两个tabpanel:点击树节点更改两个tabpanel里的内容两个tabpanel分别是user,department。贴出JavaScript的激发事件代码;

function activate_view_cp(_obj){
		if(_obj.getId()=='child-tab1'){
			if(parentId == null)
			{
				document.getElementById('center_iframe').src="./department.action";
			}
			else
			{
				document.getElementById('center_iframe').src="./department.action?filter_EQL_parent_Id="+parentId;
			}
 		}else if(_obj.getId()=='child-tab2'){
 			if(parentId == null)
 			{
 	 			document.getElementById('center_iframe').src="./user.action";
 	 		}
 			else
 			{
 				document.getElementById('center_iframe').src="./user.action?filter_EQL_department.id="+parentId;
 	 		}
 		}
 	}

 点击部门的tabPanel时候的uri是:  ./department.action?filter_EQL_parent_Id="+parentId 。用户的tabPanel的uri是:./user.action?filter_EQL_department.id="+parentId 。注意这个地方department.id 实体属性对象的id !filter支持这样 让我太惊讶了 呵呵。省了好多事。

我刚开始的时候写成这样:./user.action?filter_EQL_depa_Id="+parentId   一直报找不到属性错误。

 

 

我用的是springside3.1.4版本本来他的filter查询是没有EQL,EQLI等。是我后来加的。其实也很简单只需要在两个类里修改一点代码就可以了

在 org.springside.modules.orm.PropertyFilter里增加定义。

在org.springside.modules.orm.hibernate.HibernateDao的buildPropertyFilterCriterion(final String propertyName, final Object value, final MatchType matchType)方法里增加处理就行了。ok

 

分享到:
评论
1 楼 木叶之舟 2011-10-27  
我这里有个疑问,就是我想通过拦截外键的属性,该怎样实现呢?
比如department表下有一个属性departmName
是不是可以通过这样
/user.action?filter_EQL_department.departmName="+departmentName
来拦截呢?

相关推荐

    SpringSide3的PropertyFilter条件过滤应用小结

    SpringSide提供了工具类和辅助方法来简化PropertyFilter的使用,例如,解析请求参数到Filter条件,将Filter条件转换为SQL语句等。这使得在实际开发中,我们可以更方便地集成PropertyFilter到我们的应用程序中。 7....

    springside3.3.1_security总结

    Spring Security的Filter Security Interceptor是核心过滤器,它根据配置的访问规则拦截请求,进行身份验证和授权。SpringSide 3.3.1通过HttpSecurity配置,定制了包括登录、注销在内的各种安全策略。 3.2 CSRF防护...

    Springside Security详解

    【Springside Security详解】 Springside是一款轻量级的Java开发框架,它集成了许多常用的组件,其中包括安全框架Spring Security。Spring Security是Spring生态体系中的一个重要组成部分,专门用于处理Web应用的...

    springside 玩转acegi

    《玩转Acegi:SpringSide项目中的安全配置详解》 Acegi Security是Spring社区早期的安全框架,它为Spring应用提供了全面的身份验证和授权服务。在本文中,我们将深入探讨SpringSide项目中`applicationContext-acegi...

    statfilter usage

    SpringSide4是一个基于Spring框架的企业级应用开发基础平台,使用Druid作为默认的数据源,因此,这个提交可能包含如何在SpringSide4中集成和配置StatFilter的代码示例。 总的来说,StatFilter是Druid的一个重要特性...

    quickstart showcase

    `WEB-INF/web.xml`是Web应用的部署描述符,定义了应用的配置信息,如Servlet、Filter和Listener的配置。`WEB-INF/classes`和`WEB-INF/lib`分别存放编译后的Java类文件和应用依赖的JAR库。 2. **META-INF**:这个...

    STRUTS2:零配置插件CodeBehind

    &lt;filter-class&gt;org.apache.struts2.dispatcher.FilterDispatcher&lt;/filter-class&gt; &lt;param-name&gt;actionPackages &lt;param-value&gt;org.springside.miniweb.web &lt;/filter&gt; ``` 这里指定了`org.springside.miniweb....

    Spring_Security_2_配置精讲

    3. **社区资源**:SpringSide 社区提供了一些基于 Acegi 的配置示例,虽然不是最新的 Spring Security 版本,但对于理解配置原理仍然有参考价值。 #### Spring Security 基本配置 Spring Security 的配置主要包括...

    Acegi安全系统详解.doc

    在SpringSide项目中,引入了RBAC模型,将用户、角色和权限分离,通过用户拥有角色、角色拥有权限的方式简化权限管理。资源分为ACL、URL和FUNCTION三种,权限命名遵循特定规则,如以AUTH_开头的URL和FUNCTION权限,...

Global site tag (gtag.js) - Google Analytics