当前位置: 首页 > 知识库问答 >
问题:

来自jsp表单的请求不正确

常自怡
2023-03-14

当我尝试提交表单时,tomcat抛出“客户端发送的请求在语法上不正确”这是我的jsp表单。请帮帮我。

<form:form method="POST" commandName="articleDTO" id="categoryForm">
    <form:errors path="*" />
    <td>Title</td>
    <td><form:input path="title" /></td>

    <table>
        <thead>
            <tr>
                <th>Category</th>
                <th></th>
            </tr>
        </thead>
        <c:forEach items="${articleDTO.categories}" var="Category"
            varStatus="i" begin="0">
            <td><form:select path="categories[${i.index}]">
                    <form:option value="NONE" label="--- Select ---" />
                    <form:options items="${categoryList}" />
                </form:select></td>
        </c:forEach>
    </table>
    <td colspan="3"><input type="submit" value="GG" /></td>
</form:form>

容器:

    @RequestMapping(method = RequestMethod.GET)
public ModelAndView getAdminPage() {
    return new ModelAndView("admin_page").addObject("categoryList",
            categoryService.getAllCategories()).addObject("articleDTO", new ArticleDTO());
}

@RequestMapping(method = RequestMethod.POST)
public ModelAndView ondas(ArticleDTO articleDTO) {
    return new ModelAndView("done").addObject("article", articleDTO);
}

DTO:

private String title;

@NotEmpty
@Range(min = 100, max = 6000)
private String description;

@NotEmpty
private List<Category> categories = new ArrayList<Category>();

public ArticleDTO() {
    Category category = new Category();
    category.setTitle("news");
    category.setId(1L);
    Category category1 = new Category();
    category1.setTitle("news1");
    category1.setId(2L);
    categories.add(category1);
    categories.add(category);
}

我正在尝试从用户列表中获取文章类别

共有1个答案

亢仰岳
2023-03-14

我几乎可以肯定你的帖子有验证问题…:)

试着把你的方法改成这样。

@RequestMapping(method = RequestMethod.POST)
public ModelAndView ondas(ArticleDTO articleDTO, BindingResult result) {

    if (result.hasErrors()) {
        return new ModelAndView("admin_page").addObject("categoryList",
        categoryService.getAllCategories()).addObject("articleDTO", new ArticleDTO());
    }
    return new ModelAndView("done").addObject("article", articleDTO);
}
 类似资料:
  • 我是一个建筑项目,其中我使用java-bean,jsp和servlet。我需要将响应发送到客户端在同一页面上,从那里请求与略微修改的html。但是当我(服务器)将请求发送到jsp页面时,表单中的控件被重置为其原始值。但是我不想在发出请求后覆盖用户的输入。实现这一点的一种方法是在发出请求时为表单中的每个控件获取属性的值,然后在响应时再次设置它们。实际上,在我的窗体中有大量的控件,获取每个控件的值似乎

  • 我正试图通过JMeter发送HTTP请求。我创建了一个循环计数为25的线程组。我有一个120的加速期,线程数设置为30。在线程组中,我有20个HTTP请求。对于JMeter如何运行这些请求,我有点困惑。一个线程组内的20个请求是否都在一个线程中运行,而线程组上的每个循环是否在不同的线程上并发运行?或者,20个请求中的每一个都在可用时在不同的线程中运行。 我的另一个问题是,在每个循环中,我想改变通过

  • 我创建了一个jsp表单,它想将数据发送到两个表。这意味着我创建了两个模型类,所以表单应该引用这两个模型类。我试过了,但是失败了。如何从一个jsp页面获得两个模型属性并分配给一个控制器。提前感谢。 jsp表单 控制器

  • 我正在使用最新版本的JMeter,并试图从JMeter发出POST请求,但我无法看到更改HTTP方法的下拉列表。你能告诉我为什么我看不到下拉列表吗? 请在下面找到JMeter的屏幕截图。它没有用于指定HTTP方法的下拉列表。

  • 我正在使用Laravel 5.6--Jquery Ajax 我将该操作的返回作为带有数据的部分 我将主标记的内容替换为部分标记 除了当结果计数大于10(分页的断点)时,其他一切都正常工作。 我使用来显示控件

  • 如何将表单信息从jsp传递到java再传递到jsp。 我有一个jsp表单,当我提交它时,它会直接传递到另一个显示这些信息的jsp页面。但我想先在java文件中处理这些信息,然后再将其传递给jsp。 我在jsp中做了类似的事情。。 然后在process.java我使用request.set属性(“数据”)来存储处理后的数据。但是如何将其重定向回html视图文件?抱歉,这里是新用户。 对不起,这应该是