首页 > 其他分享 >Struts2的类型转换

Struts2的类型转换

时间:2022-10-30 15:55:32浏览次数:39  
标签:类型转换 username String struts Struts2 jsp password public

使用标签

注意:Struts2使用标签库找不到URI:[struts-tags]的taglib[s]问题解决[1]

新建 login2.jsp​ 文件,内容如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Struts2.3 Login2</title>
</head>
<body>
	<s:form action="login">
		<s:textfield name="username" label="username"></s:textfield>
		<s:textfield name="password" label="password"></s:textfield>
		<s:submit label="submit"></s:submit>
	</s:form>
</body>
</html>

查看结果:

在 Action 中使用 ActionSupport

新增页面

login3.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Struts2.3 Login3</title>
</head>
<body>
	<s:form action="login3">
		<s:textfield name="username" label="username"></s:textfield>
		<s:textfield name="password" label="password"></s:textfield>
		<s:submit label="submit"></s:submit>
	</s:form>
</body>
</html>

LoginAction3.java

package space.terwer;

import org.apache.commons.lang3.StringUtils;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction3 extends ActionSupport{
	private String username;
	private String password;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	@Override
	public void validate() {
		if(StringUtils.isBlank(this.getUsername())) {
			this.addFieldError("username", "username required");
		}
		if(StringUtils.isBlank(this.getPassword())) {
			this.addFieldError("password", "password required");
		}
	}

	public String execute() {
		return "success";
	}
}

修改 struts.xml 添加校验跳转 input

struts.xml

<!-- 使用ActionSupport -->
<action name="login3" class="space.terwer.LoginAction3">
	<result name="success">/result.jsp</result>
	<result name="input">/login3.jsp</result>
</action>

效果

业务验证

LoginAction2.java​ 的 execute()​ 方法添加验证逻辑

public String execute() {
	if("hello".equals(this.getUsername().trim()) && "world".equals(this.getPassword().trim())){
		return "success";
	}

	this.addFieldError("username", "username or password error");
	return "failer";
}

struts.xml​ 加入跳转逻辑

<!-- 使用ActionSupport -->
<action name="login3" class="space.terwer.LoginAction3">
	<result name="success">/result.jsp</result>
	<result name="input">/login3.jsp</result>
	<result name="failer">/login3.jsp</result>
</action>

效果

注意:result.jsp​ 里面的两种写法等价。

username:${requestScope.username}<br /> 
password:${requestScope.password }
username:<%=request.getParameter("username") %><br /> 
password:<%=request.getParameter("password") %>


  1. 找到 struts2-core​ 的 jar​ 包,将其复制到无关文件夹中,当作压缩文件解压,在其中的 META-INF​​ 目录中找到 struts-tags.tld​​ 文件,将其复制到项目中 webapp/WEB-INF​​ 目录下,然后在 web.xml​​ 文件中 (之前) 添加以下内容:

    <!--配置/struts-tag位置-->
    <jsp-config>
        <taglib>
            <taglib-uri>s</taglib-uri>
            <taglib-location>/WEB-INF/struts-tags.tld</taglib-location>
        </taglib>
    </jsp-config>
    
    ↩︎

标签:类型转换,username,String,struts,Struts2,jsp,password,public
From: https://www.cnblogs.com/tangyouwei/p/struts2-type-conversion-pjcr7.html

相关文章

  • 使用MyEclipse2022-1搭建Maven版本的Struts2-3项目
    MyEclipse2022.1下载推荐直接到官网下载,不要去其他地方下载,避免一些被加载了病毒的安装包。备用下载与破解包下载:链接:https://pan.baidu.com/s/1gPlSLEJa1jhpQhrvWh......
  • 使用MyEclipse2022-1搭建Maven版本的Struts2-3项目
    MyEclipse2022.1下载推荐直接到官网下载,不要去其他地方下载,避免一些被加载了病毒的安装包。备用下载与破解包下载:链接:https://pan.baidu.com/s/1gPlSLEJa1jhpQhrvWh......
  • 使用MyEclipse2022-1搭建Maven版本的Struts2-3项目
    MyEclipse2022.1下载推荐直接到官网下载,不要去其他地方下载,避免一些被加载了病毒的安装包。备用下载与破解包下载:链接:https://pan.baidu.com/s/1gPlSLEJa1jhpQhrvWh......
  • 使用MyEclipse2022-1搭建Maven版本的Struts2-3项目
    MyEclipse2022.1下载推荐直接到官网下载,不要去其他地方下载,避免一些被加载了病毒的安装包。备用下载与破解包下载:链接:https://pan.baidu.com/s/1gPlSLEJa1jhpQhrvWh......
  • 使用MyEclipse2022-1搭建Maven版本的Struts2-3项目
    MyEclipse2022.1下载推荐直接到官网下载,不要去其他地方下载,避免一些被加载了病毒的安装包。备用下载与破解包下载:链接:https://pan.baidu.com/s/1gPlSLEJa1jhpQhrvWh......
  • 使用MyEclipse2022-1搭建Maven版本的Struts2-3项目
    MyEclipse2022.1下载推荐直接到官网下载,不要去其他地方下载,避免一些被加载了病毒的安装包。备用下载与破解包下载:链接:https://pan.baidu.com/s/1gPlSLEJa1jhpQhrvWh......
  • 使用MyEclipse2022-1搭建Maven版本的Struts2-3项目
    MyEclipse2022.1下载推荐直接到官网下载,不要去其他地方下载,避免一些被加载了病毒的安装包。备用下载与破解包下载:链接:https://pan.baidu.com/s/1gPlSLEJa1jhpQhrvWh......
  • 上手python之数据类型转换和标识符
    数据类型转换为什么要转换类型数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字、数字转字符串等那么,我们为什么要转换它们呢?数据类型转换,将会是我们以后经常使......
  • Day5:类型转换
    由于JAVA是强类型语言,在进行某些运算的时候需要进行强类型转换低--------------------------------------------------------------------->高byte,short,char--......
  • 刷题——Python篇(2)类型转换
    继续在​​牛客网​​​练习Python题。第二章是类型转换。将​​​x​​​转换成其它类型的一般方法是​​y=类型(x)​​​,如​​y=int(x)​​下面看具体的题目7......