在使用velocityLayout时只能POST显示,在GET无效?403.10 禁止访问:配置无效-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

在使用velocityLayout时只能POST显示,在GET无效?403.10 禁止访问:配置无效

kun坤 2020-05-27 18:06:46 105

首次学习使用velocity,看到地瓜老大的urlmapp servlet 照抄,发现在post的时候可以正常使用布局,而Get时却什么也没有,无反应,一个空白的,这是怎么回事?   index.html 是有一个表单<form>和一个链接<a>

不可能吧,贴点代码来看看是什么问题。###### 

<servlet>
<servlet-name>velocity</servlet-name>
<servlet-class>VelocityServlet</servlet-class>
<init-param>
<param-name>org.apache.velocity.toolbox</param-name>
<param-value>/WEB-INF/cfg/velocity-toolbox.xml</param-value>
</init-param>
<init-param>
<param-name>org.apache.velocity.properties</param-name>
<param-value>/WEB-INF/cfg/velocity.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet> <servlet-mapping>
<servlet-name>velocity</servlet-name>
<url-pattern>*.vm</url-pattern>
</servlet-mapping>
  这是web.xml其中URLMappingServlet照抄,没作改变  
public class VelocityServlet extends VelocityLayoutServlet{ public final static String CURRENT_URI = "current_uri"; //{index}
public final static String REQUEST_URI = "request_uri"; //{/index} protected void processTemplate(HttpServletRequest request, HttpServletResponse response, boolean isPost) { String CUR_URI = (String) request.getAttribute(CURRENT_URI); String REQ_URI =(String) request.getAttribute(REQUEST_URI); log.info("#####>>>> VelocityServlet:"+REQ_URI); log.info(RequestUtils.getParam(request, "p1", "welcome")); log.info(RequestUtils.getParam(request, "page", 1));

} public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { log.info("#####>>>> VelocityServlet: doGet"); processTemplate(request,response, false); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { log.info("#####>>>> VelocityServlet: doPost"); processTemplate(request,response, true); } }

    这里只有doPost会用到layout,可以使用layout.vm
云服务器登录 云服务器设置
分享到
取消 提交回答
全部回答(1)
  • kun坤
    2020-05-28 09:29:00
    velocity.properties
    
    input.encoding = UTF-8
    output.encoding = UTF-8
    tools.view.servlet.error.template = error.vm
    file.resource.loader.class = org.apache.velocity.tools.view.WebappResourceLoader
    tools.view.servlet.layout.directory = /WEB-INF/layout/
    tools.view.servlet.layout.default.template =  layout.vm
    ######代码看不出来有问题,是不是页面没指定 #set($layout="layout.vm") 啊?
    0 0
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

最新问题