弹簧请求映射
这是我想要在这里实现的。
我有一个登录页面,它位于 WebContent/login.jsp。这是该应用的初始入口点。现在我需要在这个登录页面上显示一个属性名称(我从后端注入myProperies。
我想通过控制器路由此入口点以获取页面名称,但我遇到了pageName属性的问题总是在JSP返回空还制出 不会被调用,我认为我的控制器是永远不会得到callled我使用的网址是:。。?http://localhost:8080/abc/login.html弹簧请求映射
package com.abc.xyz;
import javax.annotation.Resource;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.abc.xyx.prop.MyProperties;
@Controller
public class PreLoginController {
@Resource
private MyProperties myProperties;
@RequestMapping(value = "/abc/login.html", method = RequestMethod.GET)
public String getMyLoginPage(ModelMap model){
String pageName = myProperties.getMyPageName();
model.addAttribute("page", pageName);
System.out.println("my page name is: " + pageName);
return "login";
}
}
你@RequestMapping值应该只是“/登录”,而不是“/abc/login.html”,假设你的分发程序Servlet正在寻找“HTML”,你的根目录为“ABC”
嗨GriffeyDog,将尝试您的解决方案。我在日志中注意到syso语句确实打印了结果。不知道什么时候发生,因为我正在尝试各种组合的。找到应用上下文根的最简单方法是什么? – t0mcat
那么,如果你使用http:// localhost:8080/abc/login.jsp获得了JSP的罚款,那么你的上下文根就是/ abc。一般来说,它存在于特定于服务器的文件中(即在Weblogic中,位于weblogic.xml中) – GriffeyDog
这是我的安全配置,它强制回拨到非受保护页面。 – t0mcat
你有没有考虑使用Spring Security的,而不是对这类事项?这将大大减少您的工作量,并可让您专注于实际的Web应用程序要求
http://static.springsource.org/spring-security/site/tutorial.html
那代码不会编译。 'System'有一个大写'S',而sysout行缺少一个';'(分号)。 –
和你的Spring上下文是什么样的? –
这只是一个错字。对不起。我用Syso替换了log.info。代码编译正常。 – t0mcat