继承的父类的request属性为啥 用不了?
2015-08-03 14:21
543 查看
基本的Action类,实现了ServletRequestAware,ServletResponseAware 接口,并重写了相对应的方法。
package cn.it.elec.web.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.interceptor.ServletRequestAware; import org.apache.struts2.interceptor.ServletResponseAware; import com.opensymphony.xwork2.ActionSupport; @SuppressWarnings("serial") public class BaseAction extends ActionSupport implements ServletRequestAware, ServletResponseAware { @SuppressWarnings("unused") private HttpServletRequest request = null; @SuppressWarnings("unused") private HttpServletResponse response = null; @Override public void setServletResponse(HttpServletResponse reponse) { this.response = response; } @Override public void setServletRequest(HttpServletRequest request) { this.request = request; } }
ElecCommonMsgAction 继承了 BaseAction 类,这样的话,就是可以直接使用request的。但是,直接写request会显示错误。
package cn.it.elec.web.action; import java.util.List; import javax.servlet.http.HttpServletRequest; import cn.itcast.elec.container.ServiceProvider; import cn.itcast.elec.service.IElecCommonMsgService; import cn.itcast.elec.web.form.ElecCommonMsgForm; import com.opensymphony.xwork2.ModelDriven; @SuppressWarnings("serial") public class ElecCommonMsgAction extends BaseAction implements ModelDriven<ElecCommonMsgForm> { private ElecCommonMsgForm elecCommonMsgForm = new ElecCommonMsgForm(); private IElecCommonMsgService elecCommonMsgService = (IElecCommonMsgService) ServiceProvider.getService(IElecCommonMsgService.SERVICE_NAME); @Override public ElecCommonMsgForm getModel() { return elecCommonMsgForm; } /** * @Name:home * @Description : 查询待办事宜列表 * @author qbz * @version :V1.0.0(版本号) * @Create Date :2015-08-03 * @Parameters: 无 * @return:String home 跳转到actingIndex.jsp */ public String home(){ List<ElecCommonMsgForm> list = elecCommonMsgService.findElecCommonMsgList(); request.setAttribute("commonList", list); return "home"; } }
原来是:粗心大意惹的祸!在父类BaseAction中的request 是private 的,所以,它的子类仍然不能使用这个属性!把BaseAction中的request、response 的属性 改为protected即可。
相关文章推荐
- uiview 单边圆角或者单边框
- Cell上添加UITextField出现的问题解决
- 电商商家后台-easyUI的combox三级联动
- quick2.2与quick3.3的区别(2)
- java 基础知识——String & StringBuffer & StringBuilder
- UIAlertView 按钮设置可点或者不可点击
- IOS上 关于状态栏的相关设置(UIStatusBar)
- IOS 定制中间突出UItabBar
- Android UI 之 ViewFlipper 和 GestureDetector
- iOS UISlider用法及自定义滑块
- [HDU] 1711 Number Sequence KMP
- 修改virtualbox的UUID,使virtualbox的虚拟磁盘可以复制
- 文字效果和表情图片:JAVA正则表达式 Pattern和Matcher、SpannableString与SpannableStringBuilder
- Robotium Instrumentation run failed due to 'java.lang.ClassNotFoundException'
- The type java.lang.String cannot be resolved. It is indirectly referenced from required .class files
- UITextField(输入框)
- Fixing common issues when hosting a .NET 4.0 WCF service in IIS 7
- 北大ACM1503——Integer Inquiry
- 前端UI框架
- Havok_2014-1-0_Pc_Xs_User_Guide(目录)