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

表单提交动作在Spring不工作

符学
2023-03-14

我从一个简单的表单提交示例开始

下面是文件

spring-servlet.xml

   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

   xmlns:context="http://www.springframework.org/schema/context"

   xmlns:p="http://www.springframework.org/schema/p"

   xmlns:mvc="http://www.springframework.org/schema/mvc"

   xsi:schemaLocation="http://www.springframework.org/schema/beans

          http://www.springframework.org/schema/beans/spring-beans-4.0.xsd

          http://www.springframework.org/schema/context

          http://www.springframework.org/schema/context/spring-context-4.0.xsd

          http://www.springframework.org/schema/mvc

          http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">



   <context:annotation-config />

   <!-- Scans within the base package of the application for @Components to configure-->

   <context:component-scan base-package="com.bankofny.inx.omx.lc.web" />



   <!-- Enables the Spring MVC @Controller programming model -->

   <mvc:annotation-driven />



   <bean id="messageSource"

          class="org.springframework.context.support.ResourceBundleMessageSource">

          <property name="basename" value="resources.application" />

   </bean>





   <bean id="viewResolver"

          class="org.springframework.web.servlet.view.InternalResourceViewResolver">

          <property name="viewClass"

                 value="org.springframework.web.servlet.view.JstlView"></property>

          <property name="prefix" value="/jsp/"></property>

          <property name="suffix" value=".jsp"></property>

   </bean>

testlink.jsp:

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="logic" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib uri="/WEB-INF/tlc.tld" prefix="tlc" %>
<%@ taglib uri="/WEB-INF/c.tld" prefix="c" %>
<form:form action="/ClsSave.jsp" method="POST" >
<table>
<tr>
<td align=right valign=top>&nbsp;&nbsp;&nbsp;&nbsp;Type:&nbsp;</td>
                <td align=left valign=top>
                   <select id="TypeCode" name="TypeCode">
                                  <option value="idValue"> Conditions 1</option>
                                  <option value="idValue">condition 2</option>
                           </select>

                </td>
                </tr>
                <tr>
                <!-- Text -->            
                <td align=right valign=top>&nbsp;&nbsp;&nbsp;&nbsp;Text:&nbsp;</td>
                <td colspan=3 align=left valign=top>

                       <textarea tabindex="3" rows="20" cols="65" id="Text" name="Text" rows="5" cols="30"></textarea>



              </td>
           </tr>
           <tr>

                           <td>&nbsp;
                                  <a href="javascript:submitPageX();">
                       Save
                    </a>  

                           &nbsp;|&nbsp;</td>
                           </tr>
</table>
</form:form>

<script>
function submitPageX()
{
       alert("submitted");
}
</script>

控制器:

@Controller
@SessionAttributes("clsData")
public class InformLoginAction {


    /**
     * Process the login form
     */

    @ModelAttribute("clsData")
    public ClauseData createBean() {
        return new ClauseData();
    }

    @RequestMapping(value = "/ClsSave", method = RequestMethod.POST)
    public ModelAndView execute(HttpServletRequest  request,
            HttpServletResponse response,
            @ModelAttribute("clsData") ClauseData clauseData,
            BindingResult bindingResult,
            Model model)
    {
       return new ModelAndView("blank");
    }



    @RequestMapping(value = "/informlogin", method = RequestMethod.GET)
    public ModelAndView execute( HttpServletRequest  request,
                                 HttpServletResponse response,
                                 @ModelAttribute("clsData") ClauseData clauseData,
                                 BindingResult bindingResult)
        throws Exception {
.
.
.
.
.
. return modelAndView;

    }
}

blank.jsp

form successfully submitted

我的jsp页面位于

tradelc\src\main\webapp\jsp\testlink.jsp

tradelc\src\main\webapp\jsp\blank.jsp

当我给出http://localhost:8181/trade LC/JSP/testlink . JSP时,我的testlink页面加载。但是当我点击提交链接时,在js警告之后什么也没有发生

共有2个答案

干京
2023-03-14

删除表单操作属性上的.jsp

操作应与您想要提交的控制器@RequestMapping

使您的URL全部小写。使用-分隔单词。例如,查看此页面的URL。

添加<代码>

你应该把你的 JSP 保存在 /webapp/WEB-INF 中,因为它更安全。

您应该使用CSS进行布局,而不是表格,因为它的渲染速度更快,更改也更容易。查看 http://getbootstrap.com/css/#grid

一些形式的最佳实践:Spring MVC:验证,重定向后获取,部分更新,乐观并发,字段安全性

茹建茗
2023-03-14

我通过改变我的网络.xml来解决这个问题。以前是

<servlet-mapping>
<servlet-name>tradelc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

上帝只知道我为什么在这里给*.do

然后我把它改成下面的,它起作用了

<servlet-mapping>
<servlet-name>tradelc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
 类似资料:
  • 我是新来的反应,我有一些疑问关于useState钩子。我最近正在开发一个基于应用编程接口的食谱反应应用程序。我面临的问题是,当我在搜索表单中提交东西时,状态应该发生变化,但状态没有变化,但如果我重新提交表单,状态就会发生变化。 函数的作用是:保存表单输入的值,每次我提交表单时,该值都是正确的,但是setQuery(queryString)不会更改查询值或状态,如果我重新提交表单,它会更改状态。

  • 问题内容: 我正在尝试通过AJAX提交表单,而不是使用常规的POST提交。HTML只是一个标准格式,我的jQuery代码如下: (基于此答案) 我从Submit函数返回false,但是表单仍在提交,我不知道为什么。没有收到任何Firebug错误。 问题答案: 如果html设置正确,则您的代码可以正常工作。这是我的测试html(使用php),因此您可以将其与自己的进行比较。

  • 问题内容: jQuery 似乎无法在IE8上正常使用,但可以在Firefox,Chrome和Safari上使用。我正在提交表单并以 JSON 格式回复。 这是我的代码: test.php: _test.php: jsFile.js: 行为: 在Firefox,Chrome,Safari中: 当我提交表单时,将 textfield(txt)的 值成功填充到 DIV(testDiv)中, 而不会干扰整

  • 我是Spring启动开发的新手。我正在尝试通过从@Request estbody传递List来验证帖子请求。下面是控制类 下面是我的实体类。 它从不验证实体并给出以下错误。 有人可以帮助如何验证列表直接从请求boday。https://www.baeldung.com/spring-validate-list-controller我尝试了这个,但没有帮助。 以下是pom依赖项

  • 我无法获取“remember-me”复选框值(不存在获取400个必需的布尔参数“remember”) HTML表单

  • 下面是MultistepForm的代码。我已经实现了一个多步骤表单功能,所以这里一切都很好,只是问题是在这个表单中,我在最后一步有一个预览页面,所以当我点击提交按钮时,表单正在消失,按钮正在顶部移动。所以如果有人能帮我请。