等一哈莫慌嘛 2019-06-27 22:12 采纳率: 0%
浏览 636
已采纳

SSM框架controller层不跳转页面,controller的方法也没加responsebody,但是就是不跳转页面,怎么办啊?

    <servlet>
        <!-- 前端控制器 -->
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 配置文件路径 -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring/spring-*.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

上面是servlet的配置

 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp" />
    </bean>

上面是springMVC的视图解析器

@Controller
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userServiceImpl;

    /**
     *   登录功能
     */
    @RequestMapping("/isLogin")
    public String isLogin(User userData,HttpSession session) {
        User user = null;
        user = userServiceImpl.queryByUserName(userData.getUserName());
        if(user == null) {
            session.setAttribute("false", "用户名或密码错误");
            //return "redirect:/user/isLogin";
        }
        return "index";
    }
}

这是controller,这是我做的登录功能,我想在后端跳转,因为其它页面都在WEB-INF中

        var username = $("input[name='userName']").val();
        var password = $("input[name='passWord']").val();
                    $.ajax({
                        type:"POST",
                        url:"user/isLogin",
                        data:{"userName":username,"passWord":password}
                    });

这是jsp页面,我用的ajax传输数据
但是登录成功后不跳转页面 ,求各位大牛帮一下忙,在此谢过各位了

  • 写回答

1条回答 默认 最新

  • 叫兽-郭老师 Java领域新星创作者 2019-06-28 09:56
    关注

    ajax 不能直接实现后台跳转页面。
    ajax主要是前后台交互用的。
    还有controller的方法加@responsebody
    $.ajax({
    type:"POST",
    url: //你的请求程序页面随便啦
    async:false,//同步:意思是当有返回值以后才会进行后面的js程序。
    data://请求需要发送的处理数据
    success:function(msg){
    if (msg) {//根据返回值进行跳转
    window.location.href = '你的跳转的目标地址';
    }
    }
    帮你改写下

     @RequestMapping("/isLogin")
     @responsebody
        public String isLogin(User userData,HttpSession session) {
            User user = null;
            user = userServiceImpl.queryByUserName(userData.getUserName());
            if(user == null) {
                session.setAttribute("false", "用户名或密码错误");
                //return "redirect:/user/isLogin";
            }
            return "success";
        }
    
            @RequestMapping("/Login")
            public  String Login()
            {
               return "index";
            }
    
            前台:
            $.ajax({
        type:"POST",
        url:'user/isLogin'  //你的请求程序页面随便啦
        async:false,//同步:意思是当有返回值以后才会进行后面的js程序。
        data:{"userName":username,"passWord":password}//请求需要发送的处理数据
        success:function(msg){
            if (msg) {//根据返回值进行跳转
                window.location.href = 'index.jsp';  //用 window.location.href = 'user/Login'; 也行
            }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 VMware安装虚拟网络驱动程序不成功,如何解决?(操作系统-linux)
  • ¥15 MAC安装佳能LBP2900驱动的网盘提取码
  • ¥400 微信停车小程序谁懂的来
  • ¥15 ATAC测序到底用什么peak文件做Diffbind差异分析
  • ¥15 安装ubantu过程中第一个vfat 文件挂载失败
  • ¥20 GZ::CTF如何兼容一些靶机?
  • ¥15 etcd集群部署问题
  • ¥20 谁可以帮我一下问一下各位
  • ¥15 为何重叠加权后love图的SMD与svyCreateTableOne函数绘制基线表的不一致
  • ¥15 QFILHelper怎么恢复全字库,提示进程已完成,只能恢复分区文件