• 关于

    JSP表单处理

    的搜索结果

问题

动态释放的JSP立即转发请求到这个JSP页面上,dispatcher为空。? 400 报错

爱吃鱼的程序员 2020-06-03 14:38:43 2 浏览量 回答数 1

问题

js怎么获取servlet返回的值

小旋风柴进 2019-12-01 20:26:57 2026 浏览量 回答数 1

问题

请大家指点,学STRUTS2……? 400 报错

爱吃鱼的程序员 2020-06-05 13:00:35 0 浏览量 回答数 1

阿里云高校特惠,助力学生创业梦!0元体验,快速入门云计算!

学生动手场景应用,快速了解并掌握云服务器的各种新奇玩法!

回答

简单来说BASIC是利用HTTP头部进行认证,访问页面时会由浏览器弹框要求密码,这个是走HTTP协议层面的认证FORM是基于页面,你需要自己实现一个登录页面,也就是示例中的/usercheck.jsp(名字你可以自己定),里面要有一个登录表单,表单的action和用户名 密码字段名都是框架定死的,然后你需要再实现一个servlet来处理这个表单的action,实现登录,实际上走的是session/cookie认证

蛮大人123 2019-12-02 01:54:56 0 浏览量 回答数 0

问题

一个html框架跳转的问题

爵霸 2019-12-01 19:59:26 1134 浏览量 回答数 1

问题

spring mvc data 如何传递参数到页面

蛮大人123 2019-12-01 20:00:55 977 浏览量 回答数 1

回答

Spring Web MVC 框架提供MVC 体系结构(模型视图控制器)和现成的组件,可用于开发灵活且松散耦合的Web 应用程序。MVC 模式导致分离应用程序的不同方面(输入逻辑、业务逻辑和 UI 逻辑),同时在应用程序中的模型、视图和控制器部分之间提供松散的耦合。 弹簧框架比其他 MVC 框架具有许多优势,例如 明确角色分离— 控制器、验证器、命令对象、窗体对象、模型对象、调度器 Servlet、处理程序映射、视图解析器等。每个角色都可以由专用对象完成。 框架和应用程序类的强大而直接的配置选项,如 JavaBeans。 可重用的业务代码– 无需复制。您可以将现有业务对象用作命令或窗体对象,而不是镜像它们,以便扩展特定的框架基类。 可自定义绑定和验证 可自定义的处理程序映射和视图分辨率 可自定义区域设置和主题解析 在 Spring 2.0 中引入的 JSP 表单标记库 (FTL)使 JSP 页中的书写表单更容易。等。

YDYK 2020-04-25 21:22:49 0 浏览量 回答数 0

回答

第二个不算是个问题吧: 现在开发工具都可以自动帮你生成 getter/setter 方法的###### 第二项 struts2不是默认提供自动转换的吗? 比如: 用户类 class User { private String name; private String address; get/set略 } 页面上表单有 姓名 地址两项文本域(注意input的nam命名方式) <input name="user.name"/> <input name="user.address"/> action里定义一个user对象变量就可以了, private User user; public get/set方法;   这样表单传过来的数据,就可以自动封装到user对象里了。。。这样就不用写50多个get、set了,只要一个user的get、set就可以了 啊是这个意思?struts2的入门指南里有介绍的呀。。。。还可以转换成list map等等。。。###### 第一点的理解是正确的,DAO封装对数据库的操作,Action处理请求并对数据进行校验,然后调用DAO类实现功能,如果功能比较复杂,可以增加Service层将业务逻辑封装,Action-Service-DAO。 第二点的getter和setter一般都使用IDE自带的功能生成。不需要自己写。楼上提供的使用实体Bean的方式也是可以的。###### getter和setter可以IDE自动生成,况且如果表单里的内容不需要处理的话也就不一定要写getter和setter,bean里只写需要的就行###### 很感谢大家对我的指点,让我学习的劲更足了…… set/get确实不用我们写,但我担心代码太多会不会占用系统资源。 三楼沙逛鱼师兄的方法,一定找个时间研究一下,到时候不免又要麻烦大家,先谢谢了,感谢大家的帮助。###### bean不会太占资源的,放心好了###### 第一个的理解一有点小问题 一般都是.jsp->action->service->dao这样的一个过程,不过你刚开始弄struts2也无所谓.自己知道就行了 关于连接池的话..hibernate和spring好像都可以做 第二个,action处理JSP请求时,对所有的表单项都要get和set,如果你有50项的话那就必须要有50个get/set 因为对于属于提供get/set是java面向对象的一种封装机制,而struts2-core里面的valueStack运行机制是根据页面的表单元素提交到action后,valuestack会自动根据表单元素的Name属性去填充action类中对应元素的属性 很方便的###### 首先要理解的是 MVC 模式###### 4楼和8楼的师兄提到的service不知是什么角色,我买的书上没有提及,是不是和action一样是接口还是其它什么,service是属于那个环节的,看来我要重新买书了…… hibernate和spring倒是在网上看了一些资料,感觉有点难度,准备进一步学习,尤其是orm好像不用再搞sql语句,应该很方便。###### jsp/html属于表现层 action是属于控制层 service属于业务层 dao属于数据层 jsp-->action-->service-->dao 一个完整的ssh就是这样子的过程...一层调一层,,都由spring进行管理

爱吃鱼的程序员 2020-06-05 13:00:52 0 浏览量 回答数 0

回答

1、可以通过在jsp中 out.print 你的js函数,这样就可以执行对应的函数。2、使用Ajax 方式处理上面的情况是比较好的,Ajax会回调js函数,Ajax使用时就没必要使用表单了。所以不要只是去掉表单的action,直接去掉form。 /** * ajax异步请求 * */ function ajaxSubmit(url, successCallBack) { var config = { type: "get", url: url, dataType: "json", beforeSend: function () { }, success: successCallBack, complete: function (data) { console.log(data); } }; return $.ajax(config); } 使用上面的函数,只要写一个成功后的回调就好了。

小旋风柴进 2019-12-02 02:14:50 0 浏览量 回答数 0

问题

ajax提交后台action后,怎么让后台action中通过struts来跳转页面?

a123456678 2019-12-01 20:24:05 2349 浏览量 回答数 1

回答

action没有再struts-config.xml 中定义,或没有找到匹配的action,例如在JSP文件中使用 <html:form action="Login.do".将表单提交给Login.do处理,如果出现上述异常,请查看struts-config.xml中的定义部分,有时可能是打错了字符或者是某些不符合规则,可以使用strutsconsole工具来检查。

海边一只船 2020-05-25 20:56:24 0 浏览量 回答数 0

回答

1、你这个是属于联动数据关联;根据用户的唯一id(也就是学号)定位到一个人,前提是一个学号只能是一个人,不然你下面的表单无法填充数据信息;2、你这个可以不使用jsp进行编码,因为返回的数据信息页面上也显示不了,有需要用户进行输入搜索;3、使用ajax进行用户的数据请求已经处理;具体看下面(1)$.ajax({url:'地址',type:'post',dataType:'json'}).done(function(json){//这里肯定是返回一个用户的实体信息 {name:'mm',age:12,address:'不知道',score:20}});(2)将返回的数据信息实体名称与你前台的表单name值一样,可以直接回显,也可以使用最简单的方式$("").val('')进行赋值4:接下来修改数据信息进行提交保存到后台就行了。

a123456678 2019-12-02 02:06:34 0 浏览量 回答数 0

回答

可能原因:action没有再struts-config.xml 中定义,或没有找到匹配的action,例如在JSP文件中使用<html:form action="Login.do".将表单提交给Login.do处理,如果出现上述异常,请查看struts-config.xml中的定义部分,有时可能是打错了字符或者是某些不符合规则,可以使用strutsconsole工具来检查。

montos 2020-05-26 17:13:42 0 浏览量 回答数 0

问题

Problem accessing *.jsp. Reason:问题 400 请求报错 

kun坤 2020-05-28 16:08:55 4 浏览量 回答数 1

回答

可能原因: 这个异常是因为Struts根据struts-config.xml中的mapping没有找到action期望的form bean。大部分的情况可能是因为在form-bean中设置的name属性和action中设置的name属性不匹配所致。换句话说,action和form都应该各自有一个name属性,并且要精确匹配,包括大小写。这个错误当没有name属性和action关联时也会发生,如果没有在action 中指定name属性,那么就没有name属性和action相关联。当然当action制作某些控制时,譬如根据参数值跳转到相应的jsp页面,而不是处理表单数据,这是就不用name属性,这也是action的使用方法之一。

montos 2020-05-26 17:13:38 0 浏览量 回答数 0

问题

Java web网站含图片的表单上传问题

蛮大人123 2019-12-01 20:00:59 1572 浏览量 回答数 3

问题

ajax提交后台action后,怎么让后台action中跳转页面

小旋风柴进 2019-12-01 20:25:28 1785 浏览量 回答数 1

问题

包含file 和select两种数据类型的表单,提交servlet处理读不到te?报错

爱吃鱼的程序员 2020-06-20 19:25:27 0 浏览量 回答数 1

问题

包含file 和select两种数据类型的表单,提交servlet处理读不到text文本框输入的内容

kun坤 2020-06-07 22:04:32 0 浏览量 回答数 1

回答

找eechen######难道不是POST和GET?######php不是后台语言?######不用php也行...######PHP并不是前端语言,而是后端的,和JSP是一个级别的。###### PHP 里请求java,得到数据? 擦··问哈你老板,php到底是前端还是后端·· ###### 哈哈,这个贴有意思,PHP和Java站到一起了~  同问eechen,他对淘宝的架构非常了解 ######他就是个百度的机器而已,了解淘宝个蛋蛋。######你用PHP来做用户交互接口是可以的,你与后端的Java服务器进行通信,使用JSON格式就好了。比如你在PHP端接收到了表单数据,那么你可以直接请求你的Java后端服务器进行业务操作。或者也可以先过PHP服务器一次,做一些基本数据处理或签名等操作。######回复 @qschenling : 你可以看看SpringMVC的东西。比如你PHP中一个猪类,有体重和性别,你在Java里面也建一个猪类,属性名称和数据类型和PHP保持一致,这样你发送过来的JSON,SpringMVC就能解析出来赋值给你Java里的猪类。######你的意思是如果有数据交互的话,就直接使用json传递? 如果数据量太大,又该如何处理呢? 比如从前端输入的数据想保存到数据库(比如猪的体重,猪的年龄等等这些),java如何拿到呢? 不需要使用网上说的那些soap,quercus,lajp这样的内容吗? 谢谢亲了!######php和java都是后端处理业务逻辑的语言呀,前端web的话肯定是html+css了,前端传递的数据一般就是post和get,php和java都有接收的方法。###### JAVA提供数据服务 PHP使用服务 跟访问远程资源类似 两边通过HTTP交互 JAVA端平时怎么处理请求现在也怎么处理 前后端的区分这里只是相对的 并不是说要用PHP干JS这类「前端脚本」干的活 其实是介于前端界面和后端数据服务中间的一个层

爱吃鱼的程序员 2020-06-04 16:20:33 0 浏览量 回答数 0

问题

nginx+tomcat 数字无法提交的问题

落地花开啦 2019-12-01 19:25:38 1101 浏览量 回答数 1

回答

通常,字符äåö没问题,因为浏览器和Web应用程序的tomcat / java使用的默认字符集为latin1即。“理解”这些字符的ISO-8859-1。 要使UTF-8在Java + Tomcat + Linux / Windows + Mysql下工作,需要满足以下条件: 配置Tomcat的server.xml 必须配置连接器使用UTF-8编码url(GET请求)参数: 在上面的示例中,关键部分是URIEncoding =“ UTF-8”。这可以保证Tomcat将所有传入的GET参数处理为UTF-8编码。结果,当用户将以下内容写入浏览器的地址栏时: https://localhost:8443/ID/Users?action=search&name=ж 字符ж被当作UTF-8处理,并被编码为%D0%B6(通常在到达服务器之前由浏览器访问)。 POST请求不受此影响。 CharsetFilter 然后是时候强制Java Web应用程序以UTF-8编码方式处理所有请求和响应了。这要求我们定义一个字符集过滤器,如下所示: package fi.foo.filters; import javax.servlet.*; import java.io.IOException; public class CharsetFilter implements Filter { private String encoding; public void init(FilterConfig config) throws ServletException { encoding = config.getInitParameter("requestEncoding"); if (encoding == null) encoding = "UTF-8"; } public void doFilter(ServletRequest request, ServletResponse response, FilterChain next) throws IOException, ServletException { // Respect the client-specified character encoding // (see HTTP specification section 3.4.1) if (null == request.getCharacterEncoding()) { request.setCharacterEncoding(encoding); } // Set the default response content type and encoding response.setContentType("text/html; charset=UTF-8"); response.setCharacterEncoding("UTF-8"); next.doFilter(request, response); } public void destroy() { } } 此过滤器可确保如果浏览器未设置请求中使用的编码,则将其设置为UTF-8。 该过滤器完成的另一件事是设置默认响应编码,即。返回的html /所使用的编码。另一种方法是在应用程序的每个控制器中设置响应编码等。 该过滤器必须添加到web.xml或webapp的部署描述符中: CharsetFilter fi.foo.filters.CharsetFilter requestEncoding UTF-8 CharsetFilter /* 可以在tomcat Wiki(http://wiki.apache.org/tomcat/Tomcat/UTF-8)中找到有关创建此过滤器的说明。 JSP页面编码 在您的web.xml中,添加以下内容: *.jsp UTF-8 另外,Web应用程序的所有JSP页面都需要在其顶部具有以下内容: <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%> 如果使用具有不同JSP片段的某种布局,则所有这些都需要。 HTML元标记 JSP页面编码告诉JVM以正确的编码处理JSP页面中的字符。然后是时候告诉浏览器html页面的编码方式了: 这是通过在webapp生成的每个xhtml页面顶部执行以下操作来完成的: ... JDBC连接 使用数据库时,必须定义该连接使用UTF-8编码。可以在context.xml或以下定义了JDBC连接的地方完成: MySQL数据库和表 使用的数据库必须使用UTF-8编码。这是通过使用以下内容创建数据库来实现的: CREATE DATABASE `ID_development` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_swedish_ci */; 然后,所有表也都必须使用UTF-8: CREATE TABLE `Users` ( `id` int(10) unsigned NOT NULL auto_increment, `name` varchar(30) collate utf8_swedish_ci default NULL PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci ROW_FORMAT=DYNAMIC; 关键部分是CHARSET = utf8。 MySQL服务器配置 还必须配置MySQL serveri。通常,这是在Windows中通过修改my.ini -file和在Linux中通过配置my.cnf -file来完成的。在这些文件中,应该定义所有连接到服务器的客户端都使用utf8作为默认字符集,并且服务器使用的默认字符集也是utf8。 [client] port=3306 default-character-set=utf8 [mysql] default-character-set=utf8 MySQL的程序和功能 这些还需要定义字符集。例如: DELIMITER $$ DROP FUNCTION IF EXISTS `pathToNode` $$ CREATE FUNCTION `pathToNode` (ryhma_id INT) RETURNS TEXT CHARACTER SET utf8 READS SQL DATA BEGIN DECLARE path VARCHAR(255) CHARACTER SET utf8; SET path = NULL; ... RETURN path; END $$ DELIMITER ; GET请求:latin1和UTF-8 如果并且在tomcat的server.xml中定义了GET请求参数以UTF-8编码时,以下GET请求将得到正确处理: https://localhost:8443/ID/Users?action=search&name=Petteri https://localhost:8443/ID/Users?action=search&name=ж 由于latin1和UTF-8均以相同的方式编码ASCII字符,因此正确处理了字符串“ Petteri”。 拉丁语1完全不了解西里尔字母ж。由于指示Tomcat将请求参数处理为UTF-8,因此它将该字符正确编码为%D0%B6。 如果并且当指示浏览器读取UTF-8编码的页面(带有请求标头和html meta-tag)时,至少Firefox 2/3和此期间的其他浏览器都将字符本身编码为%D0%B6。 最终结果是,找到了所有名称为“ Petteri”的用户,还找到了所有名称为“ж”的用户。 但是äåö呢? HTTP规范定义默认情况下,URL编码为latin1。这导致firefox2,firefox3等对以下内容进行编码 https://localhost:8443/ID/Users?action=search&name=*Päivi* 进入编码版本 https://localhost:8443/ID/Users?action=search&name=*P%E4ivi* 在latin1中,字符ä编码为%E4。即使页面/请求/所有内容都定义为使用UTF-8。ä的UTF-8编码版本为%C3%A4 结果是,由于某些字符在latin1中编码,而另一些字符在UTF-8中编码,因此webapp完全不可能正确地处理GET请求中的请求参数。 注意:如果页面被定义为UTF-8,则POST请求确实可以工作,因为浏览器完全以UTF-8格式编码来自表单的所有请求参数。 读物 非常感谢以下作者为我的问题提供了答案: http://tagunov.tripod.com/i18n/i18n.html http://wiki.apache.org/tomcat/Tomcat/UTF-8 http://java.sun.com/developer/technicalArticles/Intl/HTTPCharset/ http://dev.mysql.com/doc/refman/5.0/en/charset-syntax.html http://cagan327.blogspot.com/2006/05/utf-8-encoding-fix-tomcat-jsp-etc.html http://cagan327.blogspot.com/2006/05/utf-8-encoding-fix-for-mysql-tomcat.html http://jeppesn.dk/utf-8.html http://www.nabble.com/request-parameters-mishandle-utf-8-encoding-td18720039.html http://www.utoronto.ca/webdocs/HTMLdocs/NewHTML/iso_table.html http://www.utf8-chartable.de/ 重要的提示 mysql支持使用3字节UTF-8字符的基本多语言平面。如果您需要超出此范围(某些字母需要超过3个字节的UTF-8字节),则需要使用一种VARBINARY列类型的样式或使用utf8mb4字符集(这需要MySQL 5.5.3或更高版本)。请注意,使用utf8MySQL中的字符集无法100%地工作。 Tomcat与Apache 还有一件事,如果您使用的是Apache + Tomcat + mod_JK连接器,则还需要进行以下更改: 将URIEncoding =“ UTF-8”添加到8009连接器的tomcat server.xml文件中,由mod_JK连接器使用。 转到你的apache文件夹即/etc/httpd/conf添加AddDefaultCharset utf-8在httpd.conf file。注意:首先检查它是否存在。如果存在,您可以使用此行对其进行更新。您也可以在底部添加此行。来源:stack overflow

保持可爱mmm 2020-05-10 17:04:59 0 浏览量 回答数 0

回答

首先,你是复制复制注册那块的程序,是纯复制代码还是得利servlet,如果是后者建议重新自己手动创一个只复制逻辑代码,再检查下sql语句和web.xml映射最后打断点,或者用logger打印一下,看看具体怎么运行的 打印出来入库单号看看是不是和数据库存进去的一样,进一步确定问题 是打印servlet上的那些对象数据? 首先看在jsp页面上是否获取到数据,可以写一个简单的js,console.log一下,然后看看表单提交的时候是否调转到bean的处理方法里面,如果bean里面的方法没有响应,说明跳转的路径有问题,可以仔细检查下路径,如果成转到了bean的方法里,用控制台System.out一下有没有值,没有值的话说明参数的传递和获取有问题,如果到这都没有问题,检查数据库的字段和代码里的实体类的类型什么的,遇到这种问题一定要先判断问题出在哪个环节,然后在针对其解决,如果我的回答对您有所帮助,请您采纳,如果仍然有问题,把代码贴出来看看,谢谢!

爱吃鱼的程序员 2020-08-21 14:12:40 0 浏览量 回答数 0

回答

  创建add.jsp[code]<%@ page language="java" contentType="text/html; charset=gb2312";pageEncoding="gb2312"%><%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %><%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %><%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>新增页面</title></head>  <body>    <html:form action="/cc.do">      业务编号:<html:text property="uuid"></html:text><br>      用户编号:<html:text property="userId"></html:text><br>      用户姓名:<html:text property="name"></html:text><br>      用户年龄:<html:text property="age"></html:text><br>      <html:submit value="提交"></html:submit>    </html:form>  </body></html>[/code]   说明:     * 添加一个表单,action为cc.do,这个cc.do的意思,将会告诉struts的ActionServlet,它将需要调用哪个Action来处理这个表单的请求     * 添加输入域name,这个name的表单字段,必须跟UserActionForm中的属性一致   运行流程:     * 当你从浏览器输入地址:http://localhost:8088/web/pages/add.jsp,Tomcat将按通常情况来处理这个JSP并返回浏览器     * 当你提交表单,实际上是提交到了这样一个URL地址:http://localhost:8088/web/cc.do,Tomcat将会根据web.xml的配置,将这个请求发送给相应的Servlet,在我们的应用中,Tomcat将会把这个请求发送给org.apache.struts.action.ActionServlet这个类(请参看web.xml的配置)     * 然后ActionServlet根据struts-config.xml的配置信息,调用UserAction对象去处理这个请求,在此之前,它会将页面表单的请求数据封装到UserForm对象中,并传递给LoginAction      * UserAction返回一个ActionForward对象,包含了将要转向的路径信息     * ActionServlet根据这个ActionForward对象所包含的路径信息,调用相应的页面去执行响应 Struts1和Struts2的区别和对比:   * Action 类:        ·Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。       ·Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去 实现 常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。   * 线程模式:       ·Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的。       ·Struts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。(实际上,servlet容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题)   * Servlet 依赖:        ·Struts1 Action 依赖于Servlet API ,因为当一个Action被调用时HttpServletRequest 和 HttpServletResponse 被传递给execute方法。       ·Struts 2 Action不依赖于容器,允许Action脱离容器单独被测试。如果需要,Struts2 Action仍然可以访问初始的request和response。但是,其他的元素减少或者消除了直接访问HttpServetRequest 和 HttpServletResponse的必要性。   * 可测性:        ·测试Struts1 Action的一个主要问题是execute方法暴露了servlet API(这使得测试要依赖于容器)。一个第三方扩展--Struts TestCase--提供了一套Struts1的模拟对象(来进行测试)。        ·Struts 2 Action可以通过初始化、设置属性、调用方法来测试,“依赖注入”支持也使测试更容易。    * 捕获输入:        ·Struts1 使用ActionForm对象捕获输入。所有的ActionForm必须继承一个基类。因为其他JavaBean不能用作ActionForm,开发者经 常创建多余的类捕获输入。动态Bean(DynaBeans)可以作为创建传统ActionForm的选择,但是,开发者可能是在重新描述(创建)已经存 在的JavaBean(仍然会导致有冗余的javabean)。       ·Struts 2直接使用Action属性作为输入属性,消除了对第二个输入对象的需求。输入属性可能是有自己(子)属性的rich对象类型。Action属性能够通过 web页面上的taglibs访问。Struts2也支持ActionForm模式。rich对象类型,包括业务对象,能够用作输入/输出对象。这种 ModelDriven 特性简化了taglib对POJO输入对象的引用。   * 表达式语言:        ·Struts1 整合了JSTL,因此使用JSTL EL。这种EL有基本对象图遍历,但是对集合和索引属性的支持很弱。        ·Struts2可以使用JSTL,但是也支持一个更强大和灵活的表达式语言--"Object Graph Notation Language" (OGNL).    * 绑定值到页面(view):        ·Struts 1使用标准JSP机制把对象绑定到页面中来访问。       ·Struts 2 使用 "ValueStack"技术,使taglib能够访问值而不需要把你的页面(view)和对象绑定起来。ValueStack策略允许通过一系列名称相同但类型不同的属性重用页面(view)。   * 类型转换:       ·Struts 1 ActionForm 属性通常都是String类型。Struts1使用Commons-Beanutils进行类型转换。每个类一个转换器,对每一个实例来说是不可配置的。       ·Struts2 使用OGNL进行类型转换。提供基本和常用对象的转换器。   * 校验:        ·Struts 1支持在ActionForm的validate方法中手动校验,或者通过Commons Validator的扩展来校验。同一个类可以有不同的校验内容,但不能校验子对象。       ·Struts2支持通过validate方法和XWork校验框架来进行校验。XWork校验框架使用为属性类类型定义的校验和内容校验,来支持chain校验子属性   * Action执行的控制:       ·Struts1支持每一个模块有单独的Request Processors(生命周期),但是模块中的所有Action必须共享相同的生命周期。       ·Struts2支持通过拦截器堆栈(Interceptor Stacks)为每一个Action创建不同的生命周期。堆栈能够根据需要和不同的Action一起使用。   * MyEclipse支持struts1,不支持struts2.

kun坤 2020-06-08 11:16:01 0 浏览量 回答数 0

问题

钉钉微应用 ios和android拦截“返回”按钮并跳转指定URL

叶落无痕11 2019-12-01 21:47:26 3313 浏览量 回答数 1

问题

url 发送请求乱码解决。 400 请求报错 

kun坤 2020-05-28 16:04:50 5 浏览量 回答数 1

回答

假设我们将使用公共资源多部分解析器,它使用 Apache 公共资源上载库以窗体处理文件上载。因此,您需要添加公域文件上载.jar和commons-io.jar依赖项。 commons-fileupload commons-fileupload 1.2.2 commons-io commons-io 1.3.2 需要在应用程序上下文文件中进行以下声明,以启用多部分解析器(以及在应用程序中包括必要的 jar 文件): 现在创建模型类FileUploadForm,该模型将保存从 HTML 表单提交的多部分数据。 import org.springframework.web.multipart.MultipartFile; public class FileUploadForm { private MultipartFile file; public MultipartFile getFile() { return file; } public void setFile(MultipartFile file) { this.file = file; } } 现在创建实际处理上载逻辑的类。FileUploadController import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.multipart.MultipartFile; import com.howtodoinjava.form.FileUploadForm; @Controller public class FileUploadController { @RequestMapping(value = "/upload", method = RequestMethod.POST) public String save(@ModelAttribute("uploadForm") FileUploadForm uploadForm, Model map) { MultipartFile multipartFile = uploadForm.getFile(); String fileName = "default.txt"; if (multipartFile != null) { fileName = multipartFile.getOriginalFilename(); } //read and store the file as you like map.addAttribute("files", fileName); return "file_upload_success"; } } 上传的 JSP 文件如下所示: <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> Spring MVC file upload example <form:form method="post" action="save.html" modelAttribute="uploadForm" enctype="multipart/form-data"> Please select a file to upload : <form:errors path="file" cssClass="error" /> </form:form>

YDYK 2020-04-25 21:34:46 0 浏览量 回答数 0

问题

Spring已集成jsp的环境下同时集成Velocity

a123456678 2019-12-01 20:18:27 2089 浏览量 回答数 1

回答

这个应该是会重复提交的,因为地址中暴露的还是你的action的地址。 1.action返回之前页面重定向 2.使用token令牌 (可以创建一个filter来专门过滤重复提交问题) 3.验证码(其实跟token原理差不多) ######回复 @Nesson : OK 谢谢######回复 @萧夜 : 对这个类似的问题我以前考虑过,我的想法是,既然是用的人去故意刷新地址以达到重复提交的目的,那么就没有必要考虑对他的友好处理,他显然是做破坏,我们保证自己的数据没问题就可以。个人愚见,如果追求100%完美,那就老老实实做判断吧######回复 @Nesson : 这样做在网站里 会不会不友好 这个方法我用了 只是觉得 太不友好 所以没用 谢谢你的回答######回复 @萧夜 : 最近又发现一个很简单的解决办法,把action的method 约束为 RequestMethod = POST, 然后表单提交只用post方法,这样下次即便暴露提交地址,刷新的时候是默认为get方式,就报出405错误,然后做个405错误的页面就可以了######回复 @Nesson : 谢谢,第一次用,不太熟悉######正常情况下 你这个问题是不会出现的,xxx.do 执行 是在上一个页面执行的,与新页面无关,你看看代码,应该是其他问题###### 引用来自“尖刀”的答案 正常情况下 你这个问题是不会出现的,xxx.do 执行 是在上一个页面执行的,与新页面无关,你看看代码,应该是其他问题 我的流程是这样的:这个xxx.do请求---->数据的各种操作----->return 新页面 , 当我刷新 新页面的时候 是不是要重复这个过程,要是重复这个过程,就说明  数据的操作又做了一次 ###### 引用来自“萧夜”的答案 引用来自“尖刀”的答案 正常情况下 你这个问题是不会出现的,xxx.do 执行 是在上一个页面执行的,与新页面无关,你看看代码,应该是其他问题 我的流程是这样的:这个xxx.do请求---->数据的各种操作----->return 新页面 , 当我刷新 新页面的时候 是不是要重复这个过程,要是重复这个过程,就说明  数据的操作又做了一次 数据的各种操作----->redirect新页面  ######我是刚用SpringMVC 之前 我在return 的时候是这样写的:return "redirect:/url/xx.jsp" 结果给我报错了 我就用了一次,也没再用过######我的流程是这样的:这个xxx.do请求---->数据的各种操作----->return 新页面 , 当我刷新 新页面的时候 是不是要重复这个过程,要是重复这个过程,就说明  数据的操作又做了一次------------是这样的:首先你得明白 新页面是如何获取到值的,你提一次action的时候,对数据操作取到的值,给了一些变量,比如说将数据库取到的name给了 变量A ,A=NAME 这个时候你页面有个B 得到A,B=A=NAME; 你刷新页面的时候,不会再提交ACTION 也不会再进行数据库操作,A的值也不会变,B 会先变成原来的值,然后再取到A的值 ######新页面的值是经过xxx.do请求时,放到model里面的,我每次刷新新页面都要走一遍xxx.do,然后才到新页面哇,###### 刷新 只是刷新新的页面,之前的操作 不会执行,不重复那个过程。。 ######哥们 谢谢你 不过我这边经过刷新后 数据确实又更新了 而且浏览器提示数据再次提交,谢谢你啊######使用页面重定向,跳转到新页面如sendRedirect######加一个页面进行逻辑处理。同时承担页面跳转。记得传递returnurl哦。######view层用的是 freemarker不是jsp,谢谢你的回答

爱吃鱼的程序员 2020-06-05 13:08:22 0 浏览量 回答数 0

问题

java企业官网源码 自适应响应式 freemarker 静态引擎 SSM 框架

游客ydre72cd7ywew 2019-12-01 19:55:56 23 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站