这是 action
package com.weike.action;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.Transparency;
import java.awt.image.BufferedImage;
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.math.BigInteger;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.security.MessageDigest;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.imageio.ImageIO;
import javax.imageio.ImageReadParam;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.io.IOUtils;
import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.dao.QueryResult;
import org.nutz.dao.pager.Pager;
import org.nutz.img.Images;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.random.R;
import org.nutz.lang.util.NutMap;
import org.nutz.mvc.annotation.AdaptBy;
import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Fail;
import org.nutz.mvc.annotation.Ok;
import org.nutz.mvc.annotation.Param;
import org.nutz.mvc.upload.FieldMeta;
import org.nutz.mvc.upload.TempFile;
import org.nutz.mvc.upload.UploadAdaptor;
import com.alibaba.druid.util.StringUtils;
import com.weike.ServiceImpl.MainServiceImpl;
import com.weike.bean.School;
import com.weike.bean.School.School_field;
import com.weike.bean.utils.form_class;
import com.weike.bean.utils.form_class.formControl_type;
import com.weike.utils.PsImage;
import com.weike.utils.Toolkit;
import com.weike.bean.fileImport;
import com.weike.service.mainService;
import com.weike.bean.shuoFile;
@IocBean
public class main_action {
@Inject()
private Dao dao;
@Inject
private MainServiceImpl mainService;
@At("/admin")
@Ok("beetl:haha/index.html")
@Fail("void") // beelt的机制导致只能使用void,详细原因看nutzbook中的代码吧
public Object main(@Param("page")int page2,@Param("ajaxCmd")String view) {
return mainService.main();
}
}
这是 service
package com.weike.service;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import javax.imageio.ImageIO;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.io.IOUtils;
import org.nutz.dao.Cnd;
import org.nutz.dao.QueryResult;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.random.R;
import org.nutz.lang.util.NutMap;
import org.nutz.mvc.upload.TempFile;
import com.weike.bean.School;
import com.weike.bean.School.School_field;
import com.weike.bean.shuoFile;
import com.weike.bean.utils.form_class;
import com.weike.bean.utils.form_class.formControl_type;
import com.weike.utils.PsImage;
import com.weike.utils.PublicVar;
@IocBean(fields = { "dao" })
public interface mainService {
public NutMap main() ;
public void dele() ;
public List query() ;
public Object uploadimg(TempFile tf, int x, int y, int w, int h) throws IOException ;
public Object upload_bgimg (TempFile tf) throws IOException ;
}
这是 BaseServiceImpl
package com.weike.ServiceImpl;
import java.util.List;
import org.nutz.dao.Cnd;
import org.nutz.dao.Condition;
import org.nutz.dao.Dao;
import org.nutz.dao.QueryResult;
import org.nutz.dao.pager.Pager;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.Lang;
import org.nutz.lang.util.NutMap;
import org.nutz.service.IdEntityService;
import com.weike.bean.School;
import com.weike.common.page.Pagination;
/**
* @author 科技㊣²º¹³
* 2014年2月3日 下午4:48:45
* http://www.rekoe.com
* QQ:5382211
*/
public abstract class BaseServiceImpl<T> extends IdEntityService<T> {
protected final static int DEFAULT_PAGE_NUMBER = 20;
public BaseServiceImpl() {
super();
}
public BaseServiceImpl(Dao dao) {
super(dao);
}
public Pagination getObjListByPager(Integer pageNumber, int pageSize, Condition cnd) {
pageNumber = getPageNumber(pageNumber);
Pager pager = dao().createPager(pageNumber, pageSize);
List<T> list = dao().query(getEntityClass(), cnd, pager);
pager.setRecordCount(dao().count(getEntityClass(), cnd));
return new Pagination(pageNumber, pageSize, pager.getRecordCount(), list);
}
public QueryResult getObjListByPager(Integer pageNumber, int pageSize, Class cls) {
QueryResult qr = new QueryResult();
Pager pager = dao().createPager(pageNumber, pageSize);
pager.setRecordCount(dao().count(cls));
qr.setPager(pager);
qr.setList(dao().query(School.class, null, pager));
return qr;
}
public Pagination getObjListByPager(Integer pageNumber, Condition cnd) {
return getObjListByPager(pageNumber, DEFAULT_PAGE_NUMBER, cnd);
}
protected int getPageNumber(Integer pageNumber) {
return Lang.isEmpty(pageNumber) ? 1 : pageNumber;
}
public void delete(String[] ids) {
dao().clear(getEntityClass(), Cnd.where("id", "in", ids));
}
}
这是 MainServiceImpl
package com.weike.ServiceImpl;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import javax.imageio.ImageIO;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.io.IOUtils;
import org.nutz.dao.Cnd;
import org.nutz.dao.QueryResult;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.random.R;
import org.nutz.lang.util.NutMap;
import org.nutz.mvc.upload.TempFile;
import com.weike.bean.School;
import com.weike.bean.shuoFile;
import com.weike.bean.School.School_field;
import com.weike.bean.utils.form_class;
import com.weike.bean.utils.form_class.formControl_type;
import com.weike.service.mainService;
import com.weike.utils.PsImage;
import com.weike.utils.PublicVar;
@IocBean(fields = { "dao" })
public class MainServiceImpl extends BaseServiceImpl<School> implements mainService {
public NutMap main() {
NutMap map = new NutMap();
form_class formmodel = new form_class();
formmodel.setName("dd");
formmodel.setType(formControl_type.INPUT);
QueryResult qr = getObjListByPager(1, 4, School.class);
String[] bArray = { School_field.tx, School_field.name, School_field.synopsis, School_field.bgpic, "" };
String[] aArray = { "头像", "姓名", "简介", "背景图", "地区" };
ArrayList a1 = new ArrayList();
int[] typeArray = { 3, 1, 2, 4, 5 };
for (int i = 0; i < 5; i++) {
String name = bArray[i];
String text = aArray[i];
int type1 = typeArray[i];
form_class ss = form_class.setmodel(name, type1, text);
a1.add(ss);
}
form_class ss2 = (form_class) a1.get(0);
map.put("page", qr);
map.put("type", formControl_type.INPUT);
map.put("addpage", a1);
return map;
// TODO Auto-generated method stub
}
}
@IocBean(fields = { "dao" }) 请教一下,MainServiceImpl 里这么写 有什么作用,为什么 写成 @IocBean 就报空指针了呢??