Struts2编程规范的一个问题?
package com.bird.action;import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.persistence.criteria.CriteriaBuilder.In;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.bird.Util.BaseActionUtil;
import com.bird.bo.DistrictBo;
import com.bird.bo.HouseBo;
import com.bird.bo.StreetBo;
import com.bird.bo.TypeBo;
import com.bird.bo.Impl.DistrictBoImpl;
import com.bird.bo.Impl.HouseBoImpl;
import com.bird.bo.Impl.StreetBoImpl;
import com.bird.bo.Impl.TypeBoImpl;
import com.bird.domain.District;
import com.bird.domain.House;
import com.bird.domain.Street;
import com.bird.domain.Type;
import com.bird.vo.Searchvo;
/**
* 主界面
*
* @author Administrator
*
*/
public class SearchAction extends BaseActionUtil {
private Integer x;
private Integer y;
public Integer getX() {
return x;
}
public void setX(Integer x) {
this.x = x;
}
public Integer getY() {
return y;
}
public void setY(Integer y) {
this.y = y;
}
private Searchvo svo = new Searchvo();
public Searchvo getSvo() {
return svo;
}
public void setSvo(Searchvo svo) {
this.svo = svo;
}
/**
* 分页查询的方法
*
* @return
* @throws IOException
*/
public String PageSerarch() throws IOException {
TypeBo typeBo = new TypeBoImpl();
StreetBo streetBo = new StreetBoImpl();
DistrictBo districtBo = new DistrictBoImpl();
HouseBo houseBo = new HouseBoImpl();
// String district_id = request.getParameter("district_id");
String district_id = svo.getDistrict_id();
// 删除
// String del = request.getParameter("del");
String del = svo.getDel();
if (del != null && !del.equals("")) {
houseBo.deletHouseBo(Integer.parseInt(del));
}
if (district_id != null && !district_id.equals("")) {
district_id = new String(district_id.getBytes("ISO-8859-1"),
"utf-8");
// 查询街道
List<Street> list8 = streetBo.SeByDisBo(district_id);
StringBuffer ss = new StringBuffer();
for (Street street : list8) {
ss.append(street.getId() + ",");
}
ss.append("/");
for (Street street : list8) {
ss.append(street.getName() + ",");
}
out.print(ss.toString());
out.flush();
out.close();
return null;
} else {
// 查询户型
List<Type> list = typeBo.selectAllBo();
// request.setAttribute("list", list);
svo.setList(list);
// 查询街道
List<Street> list2 = streetBo.SeByDisBo("1000");
// request.setAttribute("list2", list2);
svo.setList2(list2);
// 查询区
List<District> list3 = districtBo.SeDisBo();
// request.setAttribute("list3", list3);
svo.setList3(list3);
// 分页查询房子信息
// 获取当前页
// String crrentpage = request.getParameter("pageNum");
String crrentpage = svo.getPageNum();
// 默认当前为第一页
int PageNo = 1;
if (crrentpage != null && !crrentpage.equals("")) {
PageNo = Integer.parseInt(crrentpage);
}
House h = new House();
HashMap hm = null;
if (request.getMethod().equalsIgnoreCase("post")) {
// 条件查询
// String title = request.getParameter("title");
// String price = request.getParameter("price");
String title = svo.getTitle();
String price = svo.getPrice();
double price1 = 0;
double price2 = 0;
if (!price.equals("0")) {
price1 = Integer.parseInt(price.split("-")[0]);
price2 = Integer.parseInt(price.split("-")[1]);
}
// String area = request.getParameter("area");
String area = svo.getArea();
int foorage1 = 0;
int foorage2 = 0;
if (!area.equals("0")) {
foorage1 = Integer.parseInt(area.split("-")[0]);
foorage2 = Integer.parseInt(area.split("-")[1]);
}
// String type = request.getParameter("type");
// String street = request.getParameter("street");
String type = svo.getType();
String street = svo.getStreet();
// 类型
Type tt = new Type();
tt.setId(Integer.parseInt(type));
// 街道
Street ss = new Street();
ss.setId(Integer.parseInt(street));
// 设置值
h.setType(tt);
h.setStreet(ss);
if (!title.equals("")) {
h.setTitle(title);
}
hm = houseBo.seCriBo(PageNo, 3, h, price1, price2, foorage1,
foorage2);
} else {
// 无条件查询,查询全部
hm = houseBo.seAllBo(PageNo, 3, h);
}
Object obj1 = hm.get("PageNum"); // 获得当前页
if (obj1 != null) {
PageNo = Integer.parseInt(obj1.toString());
}
Object obj2 = hm.get("totalpage"); // 获得总页数
int totalpage = 0; // 定义一个总页数
if (obj2 != null) {
totalpage = Integer.parseInt(obj2.toString());
}
Object obj3 = hm.get("list"); // 获得订单信息
ArrayList li = null;
if (obj3 != null) {
li = (ArrayList) obj3;
}
// request.setAttribute("pageNo", PageNo);
// request.setAttribute("totalpage", totalpage);
// request.setAttribute("list4", li);
svo.setPageNo(PageNo);
svo.setTotalpage(totalpage);
svo.setList4(li);
return "search";
}
}
}
请看像我这样建立一个Vo后,好像没有什么意义了?以前可以这样 request.setAttribute("pageNo", PageNo);设置值,现在svo.setPageNo(PageNo);这样设置,好像无任何意义?没有减少代码?求大神指点?
可不可以给我一个完整的struts2编写的项目啊?让我好好学习下,,或者给个网址我看看。。。 --------------------编程问答-------------------- VO即ViewObject,一般是用来展示页面的数据。VO可以先自己构造数据,前台就可以写了。后面就把构造VO的数据用真实的数据替代。主要就是这作用 --------------------编程问答-------------------- Vo和Po是不一样的,尽管有时是一样,Vo是前端显示层用的,Po是数据存取的时候用的,中间可以通过service层交换数据。 --------------------编程问答-------------------- 呼呼呼呼~~~~~
VO即ViewObject,一般是用来展示页面的数据。VO可以先自己构造数据,前台就可以写了。后面就把构造VO的数据用真实的数据替代。主要就是这作用
补充:Java , Java EE