📄 vraptorrequest.java
字号:
package xyz.frame.http;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRequestWrapper;import xyz.frame.LogicRequest;import xyz.frame.core.XyzController;import xyz.frame.factory.FactoryException;/** * A simple request wrapper for dealing with variable lookup. * * @author Guilherme Silveira */public class XyzRequest extends HttpServletRequestWrapper { private LogicRequest context; private XyzController controller; /** * Constructor for this wrapper * * @param req * request * @param controller * the controller */ public XyzRequest(HttpServletRequest req, XyzController controller) { super(req); this.controller = controller; } /** * Overriding getAttribute * * @see javax.servlet.ServletRequestWrapper#getAttribute(java.lang.String) */ @Override public Object getAttribute(String key) { if (super.getAttribute(key) != null || (!controller.getWebApplication().getFactoryManager() .canInstantiate(key))) { return super.getAttribute(key); } return instantiate(key); } /** * Instantiates the desired key * * @param key * desired key * @return the object */ private Object instantiate(String key) { try { return controller.getWebApplication().getFactoryManager() .instantiate(key, this.context, this.controller.getIntrospector()); } catch (FactoryException e) { throw new RuntimeException(e); } } /** * Changes the current context * * @param context * context */ public void setCurrentRequest(LogicRequest context) { this.context = context; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -