【问题标题】:java method not returning the correct typejava方法没有返回正确的类型
【发布时间】:2014-11-25 09:36:10
【问题描述】:

我在一个类中有一个方法,一旦点击“下一步”按钮,它就会返回一个 jsp 文件。但它只是擦除当前页面中的数据并返回当前页面。

这是方法

@RequestMapping(value = "/addQuestion", method = RequestMethod.POST)
        public String addQuestion(Model model, @RequestParam(value="question", required = true)  String theQuestion , @RequestParam(value="questionId", required = true)  Integer questionId, @RequestParam(value="category", required = true)   String category, @RequestParam(value="correctAnswer", required = true)   String correctAnswer) throws SQLException{
                ViewController viewController = new ViewController();
                viewController.createQuestion(questionId, theQuestion, category, correctAnswer);
                model.addAttribute("question", new Question());
                return "qFour";
        }

它应该返回 qFour.jsp 但它只返回 addQuestion.jsp 这是它当前所在的页面

【问题讨论】:

  • qFour 是否被正确返回?
  • 返回后放什么没关系。即返回“qFour”返回“qOne”返回“qFive”。没有出现预期的jsp
  • 根据stackoverflow.com/a/7386124/3898076,你的语法是正确的,所以还有一些问题。
  • 我可以提供哪些其他代码来找到问题的解决方案?
  • 首先,尝试调试您的代码并找出您的addQuestion 方法是否被调用?

标签: java jsp methods return


【解决方案1】:

您可以通过以下方法返回ModelAndView

@RequestMapping(value = "/addQuestion", method = RequestMethod.POST)
    public ModelAndView addQuestion(Model model, @RequestParam(value="question", required = true)  String theQuestion , @RequestParam(value="questionId", required = true)  Integer questionId, @RequestParam(value="category", required = true)   String category, @RequestParam(value="correctAnswer", required = true)   String correctAnswer) throws SQLException{
        ViewController viewController = new ViewController();
        viewController.createQuestion(questionId, theQuestion, category, correctAnswer);

        return return new ModelAndView("qFour", "question", new Question());
    }

【讨论】:

  • 谢谢,马上试试。假设您的意思也只是一次返​​回,是吗?
  • 不,不幸的是它仍在做同样的事情。在 addQuestion.jsp 中有一个带有 action="addQuestion" 的表单,它应该调用它并将内容添加到数据库中。也许错误在那里的某个地方......
  • 你用的是哪个版本的spring?
  • 你的 addQuestion 方法被调用了吗?
  • 我认为是春季版本 3.2.7。有没有简单的方法可以转换为 3.1.1?
【解决方案2】:

由于您没有提供配置文件内容,因此很难准确说出需要更改的内容。但我认为您的 addQuestion 方法的返回类型需要是 ModelAndView 而不是 String 以满足您的目的。试试这个返回语句:

return new ModelAndView("qFour.jsp");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-12
    • 2021-02-14
    • 2022-10-14
    • 2020-09-11
    相关资源
    最近更新 更多