关于idea maven工程创建struts2入门配置及案例
2024-08-31 22:41:06
1.在maven工程下添加需要导入的jar包节点
<dependencies>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.24</version>
</dependency>
<dependency>
<groupId>org.apache.struts.xwork</groupId>
<artifactId>xwork-core</artifactId>
<version>2.3.24</version>
</dependency>
</dependencies>
2.web-inf文件下配置web.xml节点
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3.构建index.jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page isELIgnored="false" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<s:fielderror value="error"></s:fielderror>
<s:actionerror/>
<s:property value="ret"/>
<s:debug/>
<form action="testAction" method="post">
用户名:<input name="uname"/><br/>
密码:<input name="upwd"/><br/>
<input type="submit"/>
</form>
</body>
</html>
4.创建TestAction
方法一:实现Action接口
public String execute() throws Exception {
System.out.println("action");
if (this.getUname().equals("")) {
addFieldError("error", "用户名为空值");
addActionError("actionerror");
return "ret1";
}else if (this.getUpwd().equals("")){
addFieldError("error", "密码为空值");
return "ret1";
}
return "ret1";
}
方法二:继承ActionSupport类
public void validate() {
System.out.println("actionsuppo");
if (this.getUname().equals("")) {
addFieldError("error", "用户名为空值");
addActionError("actionerror");
}else if (this.getUpwd().equals("")){
addFieldError("error", "密码为空值");
}
}
5.配置struts.xml文件
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
<constant name="struts.devMode" value="true"/>
<package name="default" namespace="/" extends="struts-default">
<action name="testAction" class="action.TestAction">
<result name="input">index.jsp</result>
</action>
</package>
6.测试页面
但用户名为空时
但密码为空时
最新文章
- 如何设置phpMyAdmin自动登录和取消自动登录
- 转: Eclipse自动提示功能
- 利用JS脚本通过getAttribute()和setAttribute()等对CSS样式进行操作
- Java中函数的重载
- Epic - Tic Tac Toe
- No Entertainment!
- 【Android 界面效果28】Android应用中五种常用的menu
- C#调用java程序
- include,include_once,require,require_once的区别
- Util
- [ An Ac a Day ^_^ ] hdu 2830	矩阵交换II
- JAVA在win10上的安装环境配置
- YYHS-NOIP2017SummerTraining0914-问题 A: 组合数问题
- 智能家居esp8266对接机智云
- bzoj 4813: [Cqoi2017]小Q的棋盘 [树形背包dp]
- js将当前时间格式化为年-月-日 时:分:秒
- Apache ActiveMQ实战(2)-集群
- jquery监听video标签视频播放暂停状态
- 零基础学Python--------第7章 面向对象程序设计
- 接口interface、实现接口implements
热门文章
- Hibernate的ID主键生成策略
- 解决duilib水平布局(HorizontalLayout)中控件位置计算错误的问题
- Windows批处理(cmd/bat)常用命令
- 散列:散列函数与散列表(hash table)
- innodb_data_file_path参数误修改解决方法
- apt-get install安装软件时出现依赖错误解决方式
- NSOperationQueue小结
- js进阶 9 js操作表单知识点总结
- 关于在方法里面使用泛型public static <;T>; T
- javascript数据结构与算法 零(前记+前言)