jsp form表单代码如下。
引用
<div class="pannelbody">
<div class="pannellist">
<form id="useradd" name="useradd" action="UserInseAction" method="post">
<label for="username">名称:</label>
<input name="username" type="text" id="username" value="" size="30" class="colorblue" onFocus="this.className='colorfocus';" onBlur="this.className='colorblue';" />
<br />
<label for="nickname">昵称:</label>
<input name="nickname" type="text" id="nickname" value="" size="30" class="colorblue" onFocus="this.className='colorfocus';" onBlur="this.className='colorblue';" />
<br />
<label for="password">密码:</label>
<input name="password" type="password" id="password" value="" size="30" class="colorblue" onFocus="this.className='colorfocus';" onBlur="this.className='colorblue';" />
<br />
<label for="sex">性别:</label>
<select name="sex" id="sex" class="colorblue">
<option value="0">女</option><option value="1">男</option><option value="9">人妖</option>
</select>
<br />
<label for="birthday">生日:</label>
<input name="birthday" type="text" id="birthday" value="" size="30" class="colorblue Wdate" onFocus="this.className='colorfocus';WdatePicker({startDate:'1985-07-01'});" onBlur="this.className='colorblue';" />
<br />
<label for="remark">备注:</label>
<textarea name="remark" cols="50" rows="6" id="remark" class="colorblue" onFocus="this.className='colorfocus';" onBlur="this.className='colorblue';" style="width:80%;"></textarea>
<br />
<!---字段较多,省略一些个--->
<label for=""></label>
<input name="status" type="hidden" value="1" />
<input name="button" type="submit" class="sbutton" id="button" value="提交"/>
<input name="button2" type="reset" class="sbutton" id="button2" value="返回" />
</form>
</div>
Struts.xml的配置
引用
<?xml version="1.0" encoding="gbk" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="*">
<result>/WEB-INF/jsp/{1}.jsp</result>
</action>
<action name="UserInseAction" class="com.lcsz.classmates.action.UserInfoAction">
<!-- result name="success" type="redirect">login</result-->
<result name="success" type="redirect">login</result>
<result name="input" type="redirect">UserIns</result>
</action>
</package>
</struts>
UserInfoAction.java 代码
引用
package com.lcsz.classmates.action;
import com.lcsz.classmates.dao.UserDao;
import com.lcsz.classmates.dao.impl.UserDaoImpl;
import com.lcsz.classmates.pojo.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
public class UserInfoAction extends ActionSupport implements ModelDriven<User> {
/**
* long
*/
private static final long serialVersionUID = 1L;
public User user = new User();
public String execute(){
UserDao userdao = new UserDaoImpl();
try {
if (userdao.UserIns(user)) {
return SUCCESS;
} else {
return INPUT;
}
} catch (Exception e) {
System.out.println("发现错误:"+e.getMessage());
return INPUT ;
}
}
public User getModel() {
return user;
}
}
在数据库中的插入记录 中文的话就是null 英文和数字可以插入进行
- 大小: 73.9 KB
分享到:
相关推荐
总的来说,Struts2提供了灵活且强大的数据校验机制,无论是在XML配置文件中定义,还是利用注解,甚至自定义校验逻辑,都能有效地保证Action中各个方法的输入数据合法,从而提高应用程序的稳定性和安全性。...
本篇将详细讲解如何在Struts2中配置Action来返回JSON响应。 首先,我们需要了解Struts2的Result类型。默认情况下,Action会返回一个JSP页面作为结果,但通过配置,我们可以让Action返回JSON数据。这需要使用到一个...
3. **创建Struts2 Action**:在Struts2框架中,创建一个处理文件上传的Action类,该类通常会包含一个`List<HttpServletFileWrapper>`类型的属性,用于接收上传的文件。 4. **编写Struts2配置**:在struts.xml配置...
在Struts2中配置HTTPS主要涉及以下几个步骤: 1. **配置服务器**:首先,你需要在服务器端(如Tomcat、Jetty等)启用HTTPS。这通常涉及到修改服务器的配置文件(如Tomcat的`server.xml`),添加一个监听443端口的...
本文将详细介绍如何在Struts框架中利用Token机制来避免重复提交问题。 #### 一、什么是重复提交问题? 重复提交问题通常发生在用户点击“提交”按钮后网络延迟导致页面加载缓慢的情况下,用户可能会多次点击提交...
- **ActionForward**:Struts2中用于控制页面跳转的对象。 - 默认使用`org.apache.struts.action.ActionForward`作为ActionForward实现。 - ActionForward用于定义请求处理完成后页面的跳转逻辑。 ##### 2. **...
在Struts2中进行输入校验,主要涉及以下几个步骤: 1. **配置Action**:首先,你需要在Struts2的配置文件中定义Action,并指定一个`input`属性,这是当验证失败时,用户将被重定向到的页面。例如: ```xml ...
在Struts2中,标签库是其核心特性之一,它提供了一系列预定义的JSP标签,用于简化视图层的编码,提高代码的可读性和可维护性。下面我们将详细探讨Struts2标签的使用方法以及EL(Expression Language)表达式。 1. *...
在Struts2中,EL表达式可以用来动态获取Action类中的属性值。当EL表达式无法找到对应的属性或者属性值为null时,可能会抛出异常。因此,在使用EL表达式时需要注意确保引用的属性是可用的。 ### 国际化资源文件 ...
为了使 Struts 2 能够正确处理文件上传,还需要在 `struts.xml` 配置文件中添加 `fileUpload` 拦截器到 Action 的配置中。例如: ```xml <package name="default" namespace="/" extends="struts-default"> ...
在Struts2中,返回JSON(JavaScript Object Notation)数据类型是一种常见的需求,尤其是在开发AJAX或者前后端分离的应用时。JSON是一种轻量级的数据交换格式,它允许服务器向客户端发送结构化的数据,而无需解析...
在Struts2中,输入校验通常分为两种方式:客户端校验和服务器端校验。客户端校验主要通过JavaScript在用户端进行,可以提供即时反馈,但安全性较低,因为用户可以禁用JavaScript或绕过校验。服务器端校验则是在...
在Struts2框架中,Action类可以返回JSON响应。首先,需要在Action类上添加`@Result`注解,指定结果类型为JSON: ```java public class MyAction extends ActionSupport { @Override public String execute() ...
2. **在提交表单的方法中验证令牌**: ```java if(!isTokenValid(request)){ ActionMessages errors = new ActionMessages(); errors.add("error2", new ActionMessage("error.transaction.token")); super....
3. **重构Action类**:将Struts1中的ActionForm类重构为Struts2的Action接口实现。需要注意的是,Struts2的Action类通常包含较少的状态信息,更多地依赖于请求参数和拦截器来处理业务逻辑。 4. **转换配置文件**:将...
本文将深入探讨三种在Struts2中实现这一功能的方法,并对每种方法进行详细解析。 ### 方法一:通过Request Attribute传递错误信息 这是最直接且易于理解的方式。具体步骤如下: 1. **Action中的错误信息设置**: ...
在实际开发中,Struts框架的一个常见问题就是“重复提交”。本文将深入探讨这个问题,并提供解决方案。 一、什么是重复提交? 在Web应用中,用户可能会意外地多次点击提交按钮,导致服务器端接收到多个相同请求,这...
2. Struts2不需要注意线程同步的问题,而Struts1则面临这个问题,因为Struts1对action创建的时候只创建一次,当多个用户同时访问这个action时,则必须出现这个同步的问题。而对Struts2来说,需要action时都要重新new...
使用ActionContext时,需要特别注意不要在Action的构造函数中获取ActionContext,因为那时ActionContext可能还未完全初始化,获取到的值可能是null。正确的做法是在Action的execute方法或其他业务方法中使用。 总结...