以前曾经写过一个类似的,但是看了留言说数据怎么怎么传不对,那是因为如果你仅仅只会依葫芦画瓢,那不对是正常的,好了,我今天就再写一个,你依葫芦画瓢一定可以画出来的玩意。呵呵。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
@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;
}
}
我只贴接口,具体实现嘛,自己去弄吧,嘻嘻
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变量中,有问题可以参见我原来的那篇文章,
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);
}
@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()
@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()