Struts2整理+课堂代码+注意事项

1.在Struts配置文件的<package   中的 namespace默认是namesopace="/".

    当生成namespace=“abc/”(abc是自己定义的,类似于html里的css样式中的class)那么在index.jsp测试跳转的<a  href ="abc/test01.action"></a>

  注意:.action后缀,在没有更改默认的情况下,可以不写,默认就是.action。

   这时候就必须在前面加abc/   解释:也就是当action在处理请求的时候是寻找abc/下的test01.action,然后执行系一部的转发跳转操作。

  在Struts.xml 配置文件的<action   中的 name=“test01”前面可以不加abc/。

2.修改默认值

要在<struts>标签下加<constant></constant>.   constant里面name="struts.action.extension"是默认值,不可以改,value=""可以更改(指更改默认后缀.action)

解释:上图中的valu=“do,action,,”只的是后缀可以说.do或.action或者是什么都不加的

 

 

3.result

result中的name=“success”是默认返回值,类型是String型

4.action 中的class指的是com.hanqi.action包下的TestAction类,method="test"指的是类中的test方法

 

具体代码如下:

 

  

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
首页
<br><br>

<a href="abc/test01.do">测试页面01</a>

<br><br>
<a href="test02.action">测试页面02</a>

</body>
</html>

  

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
测试页面01

</body>
</html>

  

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
登录页
<br><br>
<form action="Login.action" method="post">

用户名:<input type="text"  name="username" />
<br><br>
密码:<input type="password"  name="password" />
<input  type="submit"  value="登录">
</form>
</body>
</html>

  

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
<!-- 修改默认值 -->
<constant name="struts.action.extension" value="do,action,,"></constant>

<!-- package对功能模块进行分组管理 -->
    <package name="index" extends="struts-default"
    namespace="/">
    
    	<!-- action 处理的请求 -->
    	
    	<!-- action 处理的默认请求 -->
    	<action name="test01" class="com.opensymphony.xwork2.ActionSupport" 
    	method="execute">
    		<result name="success">/WEB-INF/pages/test01.jsp</result>
    	</action>
    	
    	<action name="test02" class="com.hanqi.action.TestAction"
    	method="test">
    		<result name="ok" >/WEB-INF/pages/test02.jsp</result>	
    		<result name="notok">/WEB-INF/pages/error.jsp</result>
    		
    	</action>
    	<!-- 登入 -->
    	<action name="Login" class="com.hanqi.action.TestAction"
    	method="login">
    		<result>/WEB-INF/pages/Main.jsp</result>	
    		<result name="fail" >/WEB-INF/pages/error.jsp</result>
    	</action>
    
    </package>
    
</struts>

  

package com.hanqi.action;
//自定义的Action 类
public class TestAction {

	//Action 方法
	public String test()
	{
		int i=1;
		if(i==1)
		{
			return "ok";
		}
		else
		{
			return "notok";
		}
	}
	
	//验证登录的方法
	public String login ()
	{
		String rtn ="fail";//定义返回值,<result name="fail">
		//验证登录
		System.out.println("username="+username+ "   password="+password);
		
		if(username!=null&&password!=null
				&&username.equals("admin")&&password.equals("123456"))
		{
			rtn="success";
		}
		return rtn;
	}
	
	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;
	}
	
	
}

  

posted @ 2016-11-13 11:38  琢磨先生  阅读(127)  评论(0编辑  收藏  举报
AmazingCounters.com