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

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'; 也行
            }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!