- 浏览: 26705 次
- 性别:
- 来自: 北京
-
最新评论
文章列表
Alt+insert:生成代码(get、set方法、构造函数)
Ctrl+R:替换文本
Ctrl+Y:删除一行
查找某个方法被谁调用:Ctrl+Alt+F7
复制一行:ctrl+d
将一行上移:shift+ctrl+向上
全文搜索:Edit-Find-Find in Path
1.OpenSessionInView 过滤器
1.优点点:一劳永逸.
2.缺点:性能差.
<!-- openSessionInView过滤器,该过滤器必须在struts过滤器之前配置-->
<filter>
<filter-name>openSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
...
解决action中为模型赋值问题
不能直接为model赋值,没有改变栈顶的引用.
--------------------------------------
1.使用属性赋值(apache).
2.把新model压入栈顶.
ActionContext.getContext().getValueStack().push(s);
3.通过prepare拦截器 + paramsPrepareParamsStack组合,解决action的模型赋值问题
1.class SurveyAction ...{
public String designSurvey(){
...
}
...
package com.nantian.surveypark.struts2.action;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import com.nantian.surveypark.domain.Survey;
import com.nantian.surveypark.dom ...
hibernate实体类的属性名不能是key
private String key;
key是hibernate的关键字
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'processEngine' defined in class path resource [spring/applicationContext-db.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory meth ...
spring与jbpm的整合
* 由spring容器产生processEngine
* jbpm的事务交给spring处理
整合步骤:
* 导入jbpm的jar包
* 删除db和hibernate的jar包
* 在config下创建一个配置文件
config/jbpm
jbpm.cfg.xml
jbpm.hibernate.cfg.xml
* jbpm.cfg.xml文件中
<import resource=" ...
流程变量
jbpm4_hist_var这个表用来存储流程实例产生的数据
void org.jbpm.api.ExecutionService.createVariable(String executionId, String name, Object
package com.nantian.jbpm.utils;
import org.jbpm.api.Configuration;
import org.jbpm.api.ProcessEngine;
import org.junit.Before;
public class BaseJbpm {
public static ProcessEngine processEngine;
@Before
public void testBase(){
this.processEngine = Configuration.getProcessEngine();
}
} ...
/**
* 删除
* 只能直接删除流程部署
* 而没有提供删除流程定义的API
*/
@Test
public void testDeleteDeployment(){
processEngine.getRepositoryService()
.deleteDeploymentCascade("10001");
}
想要删除流程定义
/**
* 根据key得到所有的流程定义,然后遍历每一个流程定义,得到流程部署,然后依次删除
*/
2、 * 根据taskid查询任务 taskService.getTask(String taskId ...
package com.nantian.jbpm.utils;
import org.jbpm.api.Configuration;
import org.jbpm.api.ProcessEngine;
import org.junit.Before;
public class BaseJbpm {
public static ProcessEngine processEngine;
@Before
public void testBase(){
this.processEngine = Configuration.getProcessEngine();
}
...
struts2与ajax,页面上向后台传递数据有两种形式
前台往后台传递数据
* form表单
$("form").serialize();用这种方法可以将form表单中的数据提交,后台可以直接获取
* 在js代码中,形成一个js格式的对象,该对象要传递到后台
后台往前台回调数据
在关联对象的查询中,一般情况下不加载关联对象,在该对象的get方法上写@JSON(serialize=false)
org.apache.struts2.json.JSONException: java.lang.reflect.InvocationTargetException
异常的产生原因:
当加载一个对象时,struts2内部的处理方案是:除了加载该对象以外,还要
加载关联的对象。而加载关联的对象是懒加载,而struts2与ajax结合
opensessioninview模式不起作用了,所以获取不到懒加载的对象。
解决方案:
public class Menuitem{
private Set<User> users; ...
加载树:
* 一次性全部加载
* 和数据库只交互一次
* 会把大量的数据加载到内存中
* 点击事件加载
* 和数据库交互很多次
* 按照需求加载数据
一次性加载树:
* 页 ...
整合
* 导入jar包
struts2-json-plugin-2.1.8.1.jar
说明:
在该jar包中有struts-plugin.xml文件
<struts>
<package name="json-default" extends="struts-default">
...