以前曾经写过一个类似的,但是看了留言说数据怎么怎么传不对,那是因为如果你仅仅只会依葫芦画瓢,那不对是正常的,好了,我今天就再写一个,你依葫芦画瓢一定可以画出来的玩意。呵呵。OK,言归正传先从实体开始说,我这里做例子,依然用最简单的来。
@Entity
@Table(name = "t_fieldcolumn")
public class FieldColumn {
@Id()
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;
private String name;
private String value;
private String id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
实体类的定义完成后,接着生成相应的service包括接口IFieldColumnService和其实现FieldColumnService
我只贴接口,具体实现嘛,自己去弄吧,嘻嘻
public interface IFieldColumnService extends EntityDao<FieldColumn, String> {
public Page getAllFieldColumnList(int start,int limit,String sort,String dir,String name);
List<FieldColumn> getFilterList();
int getFilterCount();
public void addFieldColumn(FieldColumn field);
public void updateFieldColumn(FieldColumn filed);
public void getFieldColumnById(Long id);
public void deleteFieldColumn(Long id);
}
现在到Action了,关于struts2我就不多说了,现在已经很普及了,这里我强调的一点就是,我和原先的做法一样,还是将数据保存在一个名叫result.jsp中的jsonString变量中,有问题可以参见我原来的那篇文章,
@Controller
@Results({
@Result(name = "field", location = "/WEB-INF/page/field.jsp", type = "dispatcher"),
@Result(name = "success", location = "/WEB-INF/page/result.jsp", type = "dispatcher"),
@Result(name = "fail", location = "/index.jsp", type = "dispatcher")
})
public class FieldColumnAction extends BaseActionSupport {
private static final long serialVersionUID = 1L;
@Autowired
@Qualifier("fieldColumnJdbcService")
private IFieldColumnService fieldColumnService;
private int limit=20;
private int start=1;
private String dir="";
private String sort="";
private String fieldId="";
private String jsonString="";
private String delData="";
private String fieldName = "";
private String fieldValue = "";
private String filterName = "";
/** *//**
* 查询功能
* @return
*/
@Action("/getFieldList")
public String getFieldColumnList()
{
Page page = new Page();
page = fieldColumnService.getAllFieldColumnList(start, limit, sort, dir, filterName);
if(page.getTotalCount()!=0)
{
List<FieldColumn> result = (List<FieldColumn>)page.getResult();
StringBuilder sb = new StringBuilder("{success:true,totalCount:");
sb.append(page.getTotalCount());
sb.append(",results:");
sb.append(FlexJsonUtils.getJsonString(result, null,
new String[] { "class" }, null));
sb.append("}");
jsonString = sb.toString();
}
else
{
jsonString = "{success:true,totalCount:0,results:[]}";
}
return SUCCESS;
}
}
/** *//**
* 进入管理页面
* @return
*/
@Action("/fieldcolumn")
public String getFieldIndex()
{
return "field";
}
/** *//**
* 根据field id 获取详细内容
* @return
*/
@Action("/getField")
public String getFieldInfo()
{
FieldColumn field = new FieldColumn();
field = fieldColumnService.get(fieldId);
if(field!=null)
{
StringBuilder sb = new StringBuilder();
sb.append("{success:true,");
sb.append("result:");
sb.append(FlexJsonUtils.getJsonString(field, null, new String[]{"class"}, null));
sb.append("}");
jsonString = sb.toString();
}
else
{
jsonString="{success:false,msg:'load faild!'}";
}
return SUCCESS;
}
/** *//**
* 添加字段
* @return
*/
@Action("/addField")
public String addField()
{
FieldColumn field = new FieldColumn();
field.setName(fieldName);
field.setValue(fieldValue);
fieldColumnService.save(field);
jsonString="{success:true,msg:'add success!'}";
return SUCCESS;
}
/** *//**
* 获取类别名称
* @return
*/
@Action("/getFieldNameList")
public String getFieldNameList()
{
List<FieldColumn> result = new ArrayList<FieldColumn>();
FieldColumn fc = new FieldColumn();
fc.setName("All Field Results");
fc.setValue("");
fc.setId("");
result.add(fc);
result.addAll(fieldColumnService.getFilterList());
int total = fieldColumnService.getFilterCount()+1;
jsonString = "{success:true,totalCount:"+total+",results:"+FlexJsonUtils.getJsonString(result, null,new String[] { "class","id","value" }, null)+"}";
return SUCCESS;
}
/** *//**
* 更新功能
* @return
*/
@Action("/updateField")
public String updateField()
{
FieldColumn field = new FieldColumn();
field = fieldColumnService.get(fieldId);
if(!fieldName.equals(""))
{
field.setName(fieldName);
}
field.setValue(fieldValue);
fieldColumnService.merge(field);
jsonString="{success:true,msg:'update success!'}";
return SUCCESS;
}
/** *//**
* 删除功能
* @return
*/
@Action("/delField")
public String delField()
分享到:
相关推荐
web开发常用的jar包,struts2.1.8+Hibernate3.3+spring2.5.6+extjs3.2的jar包
struts2.1.8+Hibernate3.3+spring2.5.6+extjs3.2+jbpm4.1版图书管理系统(原创) 工作之余没事写的。
struts2.1.8+Hibernate3.3+spring2.5.6+extjs3.2版图书管理系统(完整原创)
本程序是基于ExtJs3.3和Struts2.1.8,Hibernate3.3, Spring2.5.6,MySQL5.1 结合起来实现的一个简单的对数据的增删改查
extjs4是权限 网络分享资料中修改而来。 extjs4+ spring3 + hibernate3.3+ struts2.1.8 + mysql5.04+ xp + myEclipse 8.5 测试通过 。 extjsdemo.rar
本Demo采用Struts2.1.8+Spring2.5.6(Annotation注解)+Hiberante3.3.2(Annotation注解)+ExtJS(Struts2-json)
这是我们大二的期末考试项目,拿出来分享一下。 中型论坛系统开发 必须实现的部分: 模板化版面 ... 随机彩色防识别验证码 ... 普通用户能实现发新帖、回帖、浏览帖子,但不能修改帖子内容 管理员可创建帖子类型及子类...
把这个里面对应的目录里面的bestbbs文件夹拷到你对应的tomcat目录下即可运行。
写这个系统,是学习的目的,不是真正当项目写的。有些地方还没完善,但是已经达到了学习...关键是extjs与后台无缝集成通信的问题。主要实现增删改查的管理。所需jar包地址: http://download.csdn.net/source/2399276
这是我发布的图书管理系统的依赖jar文件
该压缩包内包含三个jar文件,其功能和jsonplugin.jar文件相同,用于和struts2.1.8整合,转换json数据格式供extjs使用
《2010传智播客struts2.1.8视频教程》1.09G 《EJB3.0视频教程》180M 《JDBC视频教程》664M 《jpa详解视频教程》165M 《spring2.5视频教程》365M 《传智播客_AJAX视频教程》1.27G 《传智播客_FTP视频教程》117M ...
《传智播客_AJAX视频教程》1.27G 《传智播客_FTP视频教程》117M ...《2010传智播客struts2.1.8视频教程》1.09G 《EJB3.0视频教程》180M 《JDBC视频教程》664M 《jpa详解视频教程》165M 《spring2.5视频教程》365M