• 关于 HTML表单属性 的搜索结果

问题

HTML5是什么新的表单属性?

茶什i 2019-12-01 21:58:47 36 浏览量 回答数 1

回答

这里用到HTML 标签的 enctype 属性。enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。默认地,表单数据会编码为 “application/x-www-form-urlencoded”。就是说,在发送到服务器之前,所有字符都会进行编码(空格转换为 “+” 加号,特殊符号转换为 ASCII HEX 值)。而当设置了该编码格式时,不能直接上传文件。......答案就在这里:使用Form表单上传文件

杨冬芳 2019-12-02 03:04:54 0 浏览量 回答数 0

问题

用JS实现自动填写表单功能时form无name属性怎么办?

小旋风柴进 2019-12-01 19:37:34 1181 浏览量 回答数 1

阿里云限量爆款产品特惠抢购

最新性价比爆款,每日10:00限量抢购!还可领取多种产品代金券福利,限量神券抢完即止。

回答

你需要做的是给表单元素startdate和enddate设置一个默认值(通过value属性),而不是通过datepicker来处理,相反,datepicker会读取表单元素的value值并在picker显示出来的时候自动选中相应日期。 例如: <input type="text" id="start_date" name="start_date" value="2013-10-23" /> <input type="text" id="end_date" name="end_date" value="2013-10-25" /> 这个value属性你可以直接写在html里面,可以通过JS在页面载入后计算写入,也可以在后端输出页面的时候动态输出(如PHP)。

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

回答

get和post方法功能类似的,使用建议: 1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;区别表现如下: get是从服务器上获取数据,post是向服务器传送数据。 get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。 get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。 get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

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

回答

get和post方法功能类似的,使用建议: 1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;区别表现如下: get是从服务器上获取数据,post是向服务器传送数据。 get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。 get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。 get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

蛮大人123 2019-12-02 02:23:26 0 浏览量 回答数 0

问题

用 jquery ajax 实现点击图片提交form问题

小旋风柴进 2019-12-01 19:23:57 728 浏览量 回答数 1

问题

javascript提交表单

a123456678 2019-12-01 20:25:36 980 浏览量 回答数 2

问题

html,js,关于表单提交的问题

杨冬芳 2019-12-01 20:06:41 883 浏览量 回答数 1

问题

html 表单提交之后页面不跳转

小旋风柴进 2019-12-01 20:11:36 1260 浏览量 回答数 1

问题

html 表单提交之后页面不跳转

小旋风柴进 2019-12-01 20:20:32 1382 浏览量 回答数 1

回答

jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 $("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 $("div") 选择所有的div标签元素,返回div元素数组 $(".myClass") 选择使用myClass类的css的所有元素 $("*") 选择文档中的所有的元素,可以运用多种的选择方式进行联合选择:例如$("#myELement,div,.myclass") 层叠选择器: $("form input") 选择所有的form元素中的input元素 $("#main > *") 选择id值为main的所有的子元素 $("label + input") 选择所有的label元素的下一个input元素节点,经测试选择器返回的是label标签后面直接跟一个input标签的所有input标签元素 $("#prev ~ div") 同胞选择器,该选择器返回的为id为prev的标签元素的所有的属于同一个父元素的div标签 基本过滤选择器: $("tr:first") 选择所有tr元素的第一个 $("tr:last") 选择所有tr元素的最后一个 $("input:not(:checked) + span") 过滤掉:checked的选择器的所有的input元素 $("tr:even") 选择所有的tr元素的第0,2,4... ...个元素(注意:因为所选择的多个元素时为数组,所以序号是从0开始) $("tr:odd") 选择所有的tr元素的第1,3,5... ...个元素 $("td:eq(2)") 选择所有的td元素中序号为2的那个td元素 $("td:gt(4)") 选择td元素中序号大于4的所有td元素 $("td:ll(4)") 选择td元素中序号小于4的所有的td元素 $(":header") $("div:animated") 内容过滤选择器: $("div:contains('John')") 选择所有div中含有John文本的元素 $("td:empty") 选择所有的为空(也不包括文本节点)的td元素的数组 $("div:has(p)") 选择所有含有p标签的div元素 $("td:parent") 选择所有的以td为父节点的元素数组 可视化过滤选择器: $("div:hidden") 选择所有的被hidden的div元素 $("div:visible") 选择所有的可视化的div元素 属性过滤选择器: $("div[id]") 选择所有含有id属性的div元素 $("input[name='newsletter']") 选择所有的name属性等于'newsletter'的input元素 $("input[name!='newsletter']") 选择所有的name属性不等于'newsletter'的input元素 $("input[name^='news']") 选择所有的name属性以'news'开头的input元素 $("input[name$='news']") 选择所有的name属性以'news'结尾的input元素 $("input[name*='man']") 选择所有的name属性包含'news'的input元素 $("input[id][name$='man']") 可以使用多个属性进行联合选择,该选择器是得到所有的含有id属性并且那么属性以man结尾的元素 子元素过滤选择器: $("ul li:nth-child(2)"),$("ul li:nth-child(odd)"),$("ul li:nth-child(3n + 1)") $("div span:first-child") 返回所有的div元素的第一个子节点的数组 $("div span:last-child") 返回所有的div元素的最后一个节点的数组 $("div button:only-child") 返回所有的div中只有唯一一个子节点的所有子节点的数组 表单元素选择器: $(":input") 选择所有的表单输入元素,包括input, textarea, select 和 button $(":text") 选择所有的text input元素 $(":password") 选择所有的password input元素 $(":radio") 选择所有的radio input元素 $(":checkbox") 选择所有的checkbox input元素 $(":submit") 选择所有的submit input元素 $(":image") 选择所有的image input元素 $(":reset") 选择所有的reset input元素 $(":button") 选择所有的button input元素 $(":file") 选择所有的file input元素 $(":hidden") 选择所有类型为hidden的input元素或表单的隐藏域 表单元素过滤选择器: $(":enabled") 选择所有的可操作的表单元素 $(":disabled") 选择所有的不可操作的表单元素 $(":checked") 选择所有的被checked的表单元素 $("select option:selected") 选择所有的select 的子元素中被selected的元素 选取一个 name 为”S_03_22″的input text框的上一个td的text值 $(”input[@ name =S_03_22]“).parent().prev().text() 名字以”S_”开始,并且不是以”_R”结尾的 $(”input[@ name ^='S_']“).not(”[@ name $='_R']“) 一个名为 radio_01的radio所选的值 $(”input[@ name =radio_01][@checked]“).val(); $("A B") 查找A元素下面的所有子节点,包括非直接子节点 $("A>B") 查找A元素下面的直接子节点 $("A+B") 查找A元素后面的兄弟节点,包括非直接子节点 $("A~B") 查找A元素后面的兄弟节点,不包括非直接子节点 1. $("A B") 查找A元素下面的所有子节点,包括非直接子节点 例子:找到表单中所有的 input 元素 HTML 代码: <form> <label>Name:</label> <input name="name" /> <fieldset> <label>Newsletter:</label> <input name="newsletter" /> </fieldset> </form> <input name="none" /> jQuery 代码: $("form input") 结果: [ <input name="name" />, <input name="newsletter" /> ] 2. $("A>B") 查找A元素下面的直接子节点 例子:匹配表单中所有的子级input元素。 HTML 代码: <form> <label>Name:</label> <input name="name" /> <fieldset> <label>Newsletter:</label> <input name="newsletter" /> </fieldset> </form> <input name="none" /> jQuery 代码: $("form > input") 结果: [ <input name="name" /> ] 3. $("A+B") 查找A元素后面的兄弟节点,包括非直接子节点 例子:匹配所有跟在 label 后面的 input 元素 HTML 代码: <form> <label>Name:</label> <input name="name" /> <fieldset> <label>Newsletter:</label> <input name="newsletter" /> </fieldset> </form> <input name="none" /> jQuery 代码: $("label + input") 结果: [ <input name="name" />, <input name="newsletter" /> ] 4. $("A~B") 查找A元素后面的兄弟节点,不包括非直接子节点 例子:找到所有与表单同辈的 input 元素 HTML 代码: <form> <label>Name:</label> <input name="name" /> <fieldset> <label>Newsletter:</label> <input name="newsletter" /> </fieldset> </form> <input name="none" /> jQuery 代码: $("form ~ input") 结果: [ <input name="none" /> ]

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

问题

html当表单name为中文时,servlet无法识别该中文属性传递的值

小旋风柴进 2019-12-01 20:21:35 1568 浏览量 回答数 1

回答

  创建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

回答

广义来说,其实要定义一个基准线,在此之上的增强叫做渐进增强,在此之下的兼容叫优雅降级。这个基准线对于我,是允许使用javascript、cookie和css的IE8浏览器。 不过狭义而言,渐进增强一般说的是使用CSS3技术,在不影响老浏览器的正常显示与使用情形下来增强体验,而优雅降级则是体现html标签的语义,以便在js/css的加载失败/被禁用时,也不影响用户的相应功能。 渐进增强的例子: transition属性,用于在某个数值属性突然改变的时候,在一定时间段里面输出中间的值,类似于jQuery.animate实现的动态效果。有何好处呢?使用jQuery.animate做动画的时候,是全浏览器兼容的,对于渲染效率低下、时不时有重绘bug的IE6、IE7,只会造成“页面卡”的感觉,并不会因此增强用户体验,若使用transition属性来做动画,则IE6~9是瞬间变化(并不会造成任何布局上的问题),而现代浏览器则是匀变。 虽然没有数据支持,但我一直觉得,用户的配置越好,他们使用现代浏览器的可能性更高,因此我们可以对使用现代浏览器的用户给予更好的体验。针对更现代的浏览器(通常这意味着更高的用户配置)做相应增强,并且不会影响旧浏览器的正常运行,大概就是渐进增强的意义吧。 优雅降级的例子: 假如你写了一个表单,没有用到表单元素,用了一个标签的click事件做提交,但如果Javascript被禁用了怎么办?使用如下的文档结构,就可以在javascript被禁用时,依然可以提交。 <input type="text"> <input type="submit"> 优雅降级需要正确地体现HTML标签的语义,符合“浏览器的预期”。让你的网页在各种情况—下——包括降级(javascript被禁用,css传输失败等等)的情形都可以运作良好。这是我理解的优雅降级的意义。P.S. 其实优雅降级和渐进增强都是页面的加分项,是针对技术的一种形而上的要求。保证尽可能多的用户都能正常使用网站是第一步,在此之上才需要考虑降级的极端情形和现代浏览器的体验增强。

a123456678 2019-12-02 02:20:43 0 浏览量 回答数 0

问题

springMVC过滤器过滤文件上传,获取参数为空 400 请求报错 

kun坤 2020-05-30 14:23:19 0 浏览量 回答数 1

回答

form表单中的input标签等有value属性,jquery就可以使用相应的.val(). text()是获取标签内的文字, html()是获取标签内的所有东西 比方说 <div id='a'><div>a</div></div> $('#a').text() 获取到的就是a $('#a').html()获取到的就是<div>a</div>

a123456678 2019-12-02 03:08:01 0 浏览量 回答数 0

回答

用FormData对象提交。注意IE只有版本10以上支持。 FormData对象怎么来呢,有两种方法。 方法一:表单就是FormDataHTML代码: <form id="fileform"> <input type="file" name="file"> </form> JS代码: var formElement = document.getElementById("fileform"); //jQuery可以像这样: //var formElememt = $("#fileform")[0]; var formData = new FormData(formElement); 方法二:自己构造HTML代码: <input type="file" id="file"> JS代码: var fileInput = document. getElementById("file"); //用jQuery可以这样: //var fileInput=$("#file")[0]; var file = fileInput.files[0]; //获得File对象(也就是你那个filemeta),这里文件是单选的,如果是多选的需要遍历fileInput.files属性来获取每一个文件 var formData = new FormData(); formData.append("file", file); //FormData对象的append方法第一个参数相当于input的name属性,第二个参数就是value,可以是File对象 用jQuery发送请求 全选复制放进笔记$.ajax({ type: "POST", //必须POST url: "http://example.com", //接收请求的URL processData: false, //必须设置 contentType: false, //必须设置 data: formData //直接把formData对象作为data属性的值发送 //其他参数参数自行设置 })

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

问题

【精品问答】前端开发必懂之HTML技术五十问

问问小秘 2019-12-01 21:59:10 5607 浏览量 回答数 2

回答

$ 我们经常使用向 $ 内传入一个字符串的方式来选择或生成 DOM 元素,但如果这个字符串是来自用户输入的话,那么这种方式就是有风险的。 先看一个 DEMO: http://jsbin.com/duwuzonife/1/edit?html,js,output $("<img src='' onerror='alert();'>"); 当用户输入的字符串是像这样的时,虽然这个 <img> 元素不会马上被插入到网页的 DOM 中,但这个 DOM 元素已经被创建了,并且暂存在内存里。而对于 <img> 元素,只要设置了它的 src 属性,浏览器就会马上请求 src 属性所指向的资源。我们也可以利用这个特性做图片的预加载。在上面的示例代码中,创建元素的同时,也设置了它的属性,包括 src 属性和 onerror 事件监听器,所以浏览器会马上请求图片资源,显然请求不到,随机触发 onerror 的回调函数,也就执行了 JavaScript 代码。 推荐阅读 $ 的官方文档: http://api.jquery.com/jQuery/ 类似的其他方法 .after() .append() .appendTo() .before() .html() .insertAfter() .insertBefore() .prepend() .prependTo() .replaceAll() .replaceWith() .unwrap() .wrap() .wrapAll() .wrapInner() .prepend() 以上这些方法不仅创建 DOM 元素,并且会马上插入到页面的 DOM 树中。如果使用 <script> 标签插入了内联 JS 会立即执行。 不安全的输入来源 document.URL * document.location.pathname * document.location.href * document.location.search * document.location.hash document.referrer * window.name document.cookie document 的大多数属性都可以通过全局的 window 对象访问到。加 * 的属性返回的时编码 (urlencode) 后的字符串,需要解码才可能造成威胁。 不安全的操作 把可以被用户编辑的字符串,用在以下场景中,都是有隐患的。总体来说,任何把字符串作为可执行的代码的操作,都是不安全的。 1.通过字符串创建函数 (1)eval (2)new Function (3)setTimeout/setInterval 2.跳转页面 location.replace/location.assign 修改 <script> 标签的 src 属性 修改事件监听器 总结 如果发生在用 jQuery 时被 DOM-XSS 攻击的情况,大多是因为忽视了两个东西: 1. 在给$传参数时,对参数来源的把控。 2. 用户的输入途径不只有表单,还有地址栏,还可以通过开发者工具直接修改 DOM ,或者直接在控制台执行 JS 代码。 答案来源网络,供参考,希望对您有帮助

问问小秘 2019-12-02 03:05:01 0 浏览量 回答数 0

问题

jsp连接数据库总是报错,错哪儿了? ?报错

爱吃鱼的程序员 2020-06-23 01:32:44 0 浏览量 回答数 1

回答

第二个不算是个问题吧: 现在开发工具都可以自动帮你生成 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

问题

Form表单的action跳转URL问题

杨冬芳 2019-12-01 20:00:21 995 浏览量 回答数 1

问题

XForms – 新的 Web 表单标准:报错

kun坤 2020-06-07 13:33:13 0 浏览量 回答数 1

回答

如果您的html表单的输入字段带有空方括号,则它们将被转换为控制器中params内的数组。 Eg multiple input fields all with the same name: <input type="textbox" name="course[track_codes][]" ...> will become the Array params["course"]["track_codes"] with an element for each of the input fields with the same name 添加: 需要注意的是导轨佣工都没有设置做阵列伎俩自动神奇。因此,您可能必须手动创建名称属性。同样,如果使用rails助手,则复选框也有其自身的问题,因为复选框助手会创建其他隐藏字段来处理未选中的情况。

保持可爱mmm 2020-02-14 11:55:32 0 浏览量 回答数 0

回答

想法不错,不过这个很麻烦,根据表名在后台生成增删该查的代码,传到前台,异步实现。 ######回复 @duoduo3_69 : 还有为什么前台不用框架呢,用框架也就copy,改些参数的事。######回复 @duoduo3_69 : 这个我也没做过,只是有个大概的思路,首先dao层要有基本增删改查的封装,再在业务逻辑里写个生成html代码的方法,参数为实体类,利用反射取实体属性,根据属性类型,生成相应的表单元素。(这里面就有麻烦的操作,例如:性别,人性化的就是使用radio)。这个值得研究下。######要是能完成的话,这点麻烦就不是麻烦了,好几百个模块呢、老哥能更详细点么###### 写增改查页面的确很累人,尤其是量大的时候一想起来无力感顿然而生,这东西如若没有特别的页面效果需求,类似于后台的数据管理页面编写,几乎等于重复劳动毫无技术含量。 如果当初你建立数据库结构的SQL脚本还在,而且包含符合页面展示的注释,可以自己写正则提取里面的数据,根据规则或自己定义的页面模板生成相应的页面文件(甚至实体类、Dao和Action的类和接口),当然生成后的文件不可能一蹴而就的拿来直接使用,可能在你使用的时候需要按照实际需求做些或多或少的调整,但是这比你一个个的编写快得多了。 如果有时间,最多三五天就能搞定吧,去年初我做过而且用过。当然可能还有更好的的工具可以用吧,但是我没查过。 ######老哥你说的太对了,一看到300多个表我就无力了,网上找了半天还没想明白怎么搞,现在在想是不是能用hibernate的xml文件半点儿神马事儿######代码生成器,9iuspring项目中有一个代码生成器,你可以看下######额 木看懂啊这个、###### 没辦法的吧  這個必須手動寫的吧? 本身web开发 大多情况都是增删改查而已! ######工作量太大 想想办法解决掉 现在考虑用反射的方法######楼主可以将myeclipse生成的hibernate映射文件解析或者实体bean,然后提取关键字段属性生成页面的文件,搞web,页面增删改查是绝对避免不了的。只能说是使用自动生成代码的工具尽量的减少重复无意义的代码的编写。######回复 @Mr_Qi : 想从反射入手 正在想思路 大神能具体指导下么######回复 @liu_000 : 还好了,自己可以直接写一个table套一下,然后css随便从什么网站扒一个最简单了,要是本身html很好的可以写div什么d,这个做做可以更深入的,比如对字段加条件限制,对应分为前台和后台的校验框架,例如在text加属性max,min,reg什么的,应该不是很难吧,但是更精细的就比较难了######回复 @Mr_Qi : 这样确实可行,但是html是要美工去处理的,这貌似不属于java的范畴呢...懒人飘过...######反射ok的,有实体直接在jsp上反射对应的属性,action直接rest风格######大神不敢当。大概就是先得到field的数目,然后将数据库自动生成的字段去掉(如主键自增,timestamp什么的),将对应的field的集合传到模板引擎中(比方velocity,jsp什么的),形成一个大的table,每一个input的自己根据当前的field加上属性(如 dataType='int' maxLength='11' minLength='11'),这个可以使用jquery-validate框架来写规则,如果是时间类型的,再去加一个bootstrap里的时间选择什么的~关键是规则可能比较头疼,因为数据库不同的表可能属性的要求不一样###### 好吧 我不多说了 今天刚在群里一个童鞋推荐这个 估计是你想要的 http://code.google.com/p/rapid-framework/

kun坤 2020-06-09 13:48:24 0 浏览量 回答数 0

问题

性能测试 PTS 高级属性有什么

猫饭先生 2019-12-01 21:25:42 1067 浏览量 回答数 0

回答

一. 表单传递当一个表单提交给 PHP 脚本时,表单中的信息会自动在脚本中可用。例: 一个简单的 HTML 表单[PHP] <form action="foo.php" method="post"> Name: <input type="text" name="username"><br> Email: <input type="text" name="email"><br> <input type="submit" name="submit" value="Submit me!"> </form> [/PHP]有很多种方法访问 HTML 表单中的数据。例如:例:. 从一个简单的 POST HTML 表单访问数据[PHP] <?php // 自 PHP 4.1.0 起可用 print $_POST['username']; print $_REQUEST['username']; import_request_variables('p', 'p_'); print $p_username; // 自 PHP 3 起可用 print $HTTP_POST_VARS['username']; // 如果 PHP 指令 register_globals = on 时可用。不过自 // PHP 4.2.0 起默认值为 register_globals = off。 // 不提倡使用/依赖此种方法。 print $username; ?> [/PHP]使用 GET 表单也类似,只不过要用适当的 GET 预定义变量。当提交表单时,可以用一幅图像代替标准的提交按钮,用类似这样的标记: ` <input type="image" src="image.gif" name="sub">` 当用户点击到图像中的某处时,相应的表单会被传送到服务器,并加上两个变量 sub_x 和 sub_y。它们包含了用户点击图像的坐标。有经验的用户可能会注意到被浏览器发送的实际变量名包含的是一个点而不是下划线,但 PHP 自动将点转换成了下划线。 二. 网址传递<a href=”test.php?id=3&name=mike”>next</a>可用 $_GET['id'] 和$_GET['name']访问GET 的数据。三. Cookie 传递1、 设置Cookie简单的:SetCookie("MyCookie", "Value of MyCookie");  带失效时间的:SetCookie("WithExpire", "Expire in 1 hour", time()+3600);//3600秒=1小时  什么都有的:SetCookie("FullCookie", "Full cookie value", time()+3600, "/forum", ".phpuser.com", 1);  如果要设置同名的多个Cookie,要用数组,方法是: SetCookie("CookieArray[0]", "Value 1"); SetCookie("CookieArray[1]", "Value 2"); 2、 接收和处理Cookie echo $_COOKIE[‘MyCookie’]; echo $_COOKIE[‘CookieArray[0]’]; echo count($_COOKIE[‘CookieArray’]); 3、删除Cookie要删除一个已经存在的Cookie,有两个办法: 一是调用只带有name参数的SetCookie,那么名为这个name的Cookie 将被从关系户机上删掉;另一个办法是设置Cookie的失效时间为time()或time()-1,那么这个Cookie在这个页面的浏览完之后就被删除了(其实是失效了)。 要注意的是,当一个Cookie被删除时,它的值在当前页在仍然有效的。 四. Session传递test1.php [PHP] <? session_start(); session_register("count"); echo $count=0; ?> [/PHP] test2.php[PHP] <? session_start(); echo $count++; ?> [/PHP] 经过实验发现,PHP4的session只对当前打开的浏览器窗口有效(至少在W2K下的 IE5和NS6中是这样)。下面的代码可以实现session的跨窗口执行。 test1.php [PHP] <? session_start(); session_register("count"); setcookie("PHPSESSID",session_id(),time()+3600,"/","www.md.hl.cn"); echo $count=0; ?> [/PHP]五. javascript变量传递到PHP脚本中方法一:先用PHP生成js代码,然后通过浏览器的自动刷新,将javascript变量传递到PHP脚本中。[PHP] <?php if (isset($_GET['width']) AND isset($_GET['height'])) { // output the geometry variables echo "Screen width is: ". $_GET['width'] ."<br />\n"; echo "Screen height is: ". $_GET['height'] ."<br />\n"; } else { // pass the geometry variables // (preserve the original query string // -- post variables will need to handled differently) echo "<script language=\"javascript\">\n"; echo " location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}" . "&width=\" + screen.width + \"&height=\" + screen.height;\n"; echo "</script>\n"; exit(); } ?> [/PHP] 方法二:先用document.cookie方法把js变量写入cookie中,再用PHP取出。这种方法适用于变量少的情况。 1. 在JAVASCRIPT中设置COOKIE:document.cookie="cookiename="+value+";path=/" 2. 在PHP中用$HTTP_COOKIE_VARS["cookiename"]的方式读取。 [PHP] <script> var name="myqq",value="66166457"; document.cookie=”myqq”+"="+value+";" </script> <?php echo "$_COOKIE[‘myqq’]\n"; $my="我的QQ是".$_COOKIE[‘myqq’]; echo $my; ?> [/PHP]方法三:通过表单中的隐藏域的value属性将需要传递的变量通过提交表单传递给PHP。[PHP] <script langeuage="javascript"> function logon_sub(){ if( pass_check() ) { if(document.logon.f_over_clk.value=='0') { document.logon.f_over_clk.value='1'; document.logon.submit(); } } } </script> <form name="logon" action="logon_do.php" method="post"> <a href="javascript:logon_sub();"><img name="Logon" src="../img/LogonBt_iu.gif"></a> <input type="hidden" name="mullang" value="0"> </form> [/PHP] 在logon_do.php页面就可以用$_POST[‘mullang’]取得这个变量了。六.多个页面之间传递数组可以把数组转化成字符串,作为一个参数来传递: - file1.php [PHP] <? ... $arg=implode(";", $parm); $link="file2.php?arg=$arg"; ?> [/PHP] - file2.php [PHP] <? $parm=explode(";", $arg);

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

回答

去掉,closed:true这个,要不只能点击add按钮打开dialog,页面也没有id为add的按钮,而且不要放html注释到标签里面,放外面去 <div id="userDialog" class="easyui-dialog" title="保存用户" data-options="iconCls:'icon-save'" style="width: 300px; height: auto; padding: 20px" buttons="#btns"> <!--表单必须的属性:method="post",action提交的url地址,id属性 --> <!-- 注意id的命名,建议统一使用XXXForm --> <form id="userForm" method="post" action="user_save.jsp"> <table> <tr> <td>用户名:</td> <td><input class="easyui-validatebox" type="text" name="username" data-options="required:true"></td> </tr> <tr> <td>邮箱地址:</td> <td><input class="easyui-validatebox" type="text" name="email" data-options="validType:'email'"></td> </tr> <tr> <td>主题:</td> <td><input class="easyui-validatebox" type="text" name="subject" data-options="required:true,validType:'length[10,200]'"></td> </tr> <tr> <td>Message:</td> <td><textarea name="message" style="height: 60px;"></textarea></td> </tr> </table> </form>

云栖技术 2019-12-02 02:31:49 0 浏览量 回答数 0

问题

ASP无组件上传的原理上传图片,视频,工具包等

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