浏览 4055 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2004-11-23
代码如下 : SearchAction.java //Created by MyEclipse Struts // XSL source (default);: platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_3.8.2/xslt/JavaClass.xsl package com.addressbook.struts.action; import java.util.Locale; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessages; import org.apache.struts.util.MessageResources; import com.addressbook.constants.Constants; import com.addressbook.struts.form.SearchForm; /** * MyEclipse Struts * Creation date: 11-21-2004 * * XDoclet definition: * @struts:action path="/search" name="searchForm" input="/search.jsp" scope="request" validate="true" */ public final class SearchAction extends Action { private Log log = LogFactory.getLog(this.getClass();.getName(););; public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response); { Locale locale = getLocale(request);; MessageResources messages = getResources(request);; ActionMessages errors = new ActionMessages();; String name = ((SearchForm);form);.getName();; String phone = ((SearchForm);form);.getPhone();; String address = ((SearchForm);form);.getAddress();; if(!errors.isEmpty(););{ saveMessages(request,errors);; return new ActionForward(mapping.getInput(););; } String strSql = new String("SELECT * FROM " + Constants.TABLENAME + " WHERE ");; if(!name.equals("");); strSql = strSql + "name LIKE '" + name + "%' AND"; if(!phone.equals("");); strSql = strSql + " phone LIKE '" + phone +"%' AND"; if(!address.equals("");); strSql = strSql + " address LIKE '" + address + "%'"; else strSql = strSql.substring(0,strSql.length();-3);; strSql = strSql + " ORDER by ID"; HttpSession session = request.getSession();; if(log.isDebugEnabled(););{ log.debug("SearchAction session =" + session);; log.debug("SearchAction strSql =" + strSql);; } session.setAttribute(Constants.SQLSTMT_KEY,strSql);; return mapping.findForward(Constants.FORWARD_SUCCESS);; } } InsertAction.java //Created by MyEclipse Struts // XSL source (default);: platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_3.8.2/xslt/JavaClass.xsl package com.addressbook.struts.action; import java.util.Locale; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.struts.action.Action; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; import org.apache.struts.util.MessageResources; import com.addressbook.constants.Constants; import com.addressbook.model.AddressBookBean; import com.addressbook.struts.form.InsertForm; /** * MyEclipse Struts * Creation date: 11-21-2004 * * XDoclet definition: * @struts:action path="/insert" name="insertForm" input="/insert.jsp" scope="request" validate="true" */ public final class InsertAction extends Action { private Log log = LogFactory.getLog(this.getClass();.getName(););; /** * Method execute * @param mapping: 包含了这个Action的配置信息,和struts-config.xml文件中的<action>元素对应 * @param form : 包含了用户的表单数据,当Struts框架调用execute();方法时,ActionForm中的数据已经通过了表单验证 * @param request : 当前的Http请求对象 * @param response :当前的Http响应对象 * @return ActionForward :它包含了请求转发信息 */ public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response);throws Exception { /** * 这是取得地区,以便于使用多国语言的 * 如果是多国语言的话,这个properties文件必然有N份,各自对应不同的语言 */ Locale locale = getLocale(request);; MessageResources messages = getResources(request);; String name = null; String phone = null; String address = null; ActionMessages errors = new ActionMessages();; name = ((InsertForm);form);.getName();; phone = ((InsertForm);form);.getPhone();; address = ((InsertForm);form);.getAddress();; try{ AddressBookBean bean = new AddressBookBean(name,phone,address);; bean.insert();; }catch(Exception ex);{ ex.printStackTrace(System.out);; errors.add(ActionErrors.GLOBAL_ERROR,new ActionMessage("error.inset.failed"););; } if(!errors.isEmpty(););{ saveMessages(request,errors);; return new ActionForward(mapping.getInput(););; } //If we had no errors, then add a confirmation message ActionMessages actionMessages = new ActionMessages();; actionMessages.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage("record.inserted"););; saveMessages(request,actionMessages);; return mapping.findForward(Constants.FORWARD_CONFIRMATION);; } } 我想请问的是: 1:SearchAction.java中的51行到54行 if(!errors.isEmpty(););{ saveMessages(request,errors);; return new ActionForward(mapping.getInput(););; } 是不是多余的,书上是这么写的,我认为好像永远也不能满足这个条件,可以删除么? 2:SearchAction.java中的70行到73行 if(log.isDebugEnabled(););{ log.debug("SearchAction session =" + session);; log.debug("SearchAction strSql =" + strSql);; } 这句话,我在"F:\Tomcat 5.0\logs\localhost_log.2004-11-23.txt"中都没有找到,相反其他文件中的 if(debug>=1); log("Initializing database servlet");;这种形式的log我却在"F:\Tomcat 5.0\logs\localhost_log.2004-11-23.txt"中找到了. 我不知道这2者有什么区别, 另外我想查找org.apache.commons.logging.Log;不知道哪里有chm文件.我都不知道. 3.InsertAction.java文件中的34行 private Log log = LogFactory.getLog(this.getClass();.getName(););;好像后面程序也没用到,是不是这里也是一点作用也没起? 谢谢 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2004-11-24
有人说用 log4j .现在我已经 把 log4j.properties放到 src目录下面了 。它里面的内容为 :
### direct log messages to stdout ### log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n ### direct messages to file hibernate.log ### #log4j.appender.file=org.apache.log4j.FileAppender #log4j.appender.file.File=hibernate.log #log4j.appender.file.layout=org.apache.log4j.PatternLayout #log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n ### set log levels - for more verbose logging change 'info' to 'debug' ### log4j.rootLogger=warn, stdout log4j.logger.net.sf.hibernate=info ### log just the SQL #log4j.logger.net.sf.hibernate.SQL=debug ### log JDBC bind parameters ### log4j.logger.net.sf.hibernate.type=info ### log schema export/update ### log4j.logger.net.sf.hibernate.tool.hbm2ddl=debug ### log cache activity ### #log4j.logger.net.sf.hibernate.cache=debug ### enable the following line if you want to track down connection ### ### leakages when using DriverManagerConnectionProvider ### #log4j.logger.net.sf.hibernate.connection.DriverManagerConnectionProvider=trace 现在我不知道我上面的searchAction.java代码该怎么改 ? 用log4j有什么好啊 ? 谢谢大家 。 |
|
返回顶楼 | |
发表时间:2004-11-24
建议 先看一下log4j的文档!
看过之后,我想你的问题都不是问题啦。 errors.isEmpty()是判断有无错误,如果有错误则转到相应的逻辑处理中,所以有了forward。 |
|
返回顶楼 | |
发表时间:2004-11-24
firebody 写道 建议 先看一下log4j的文档!
看过之后,我想你的问题都不是问题啦。 errors.isEmpty()是判断有无错误,如果有错误则转到相应的逻辑处理中,所以有了forward。 我觉得这段代码中 那个errors.isEmpty()不会不执行,我是想确认一下,你没明白我的问题。不是问你怎么用? 至于看log4j文档,哎,好累啊。我只想会用就行了。要是没人帮我,只好自己用jscb慢慢看了 |
|
返回顶楼 | |
发表时间:2004-11-24
既然自己都可以找得到的东西,为何还要问人呢(关于log4j),更何况这个东西这么简单。
太多的依赖只会让自己变得更加懦弱。 相信自己,看一下文档(其实我建议是看一下sample,最容易上手),自己就会知道的了。 祝你好运。 |
|
返回顶楼 | |
发表时间:2004-11-24
问题已经解决了 。
|
|
返回顶楼 | |