首页 > 代码库 > Struts2 让跳转指定执行某个方法

Struts2 让跳转指定执行某个方法

很多时候,我们想让jsp页面中的某个超链接,点击后执行后台的某个方法,里面该如何做呢?

    这里方法很多种

      我举例两种:

        1.在struts.xml配置,配置如下:

      

     <package name="student" extends="struts-default"  namespace="/actions">
		<action name="user" class="DataValidation.One_action" method="add">
			<result name="error"> /user_add_error.jsp </result>
		</action>
	</package>

 在action里面配置一个属性method后面跟你要执行的方法,要确保这个方法在后台存在,这个方法一定要有返回值SUCCESS,

public String add() {
		System.out.println("name="+name);
		if(name==null|| !name.equals("admin")){
			this.addFieldError("name", "name is Error");
			return "error";
		}
		return SUCCESS;
	}

       2.在你链接标签里面加上!(你要执行的方法名)例如我要执行后台的Add方法那么我就可以xxx/xxx!Add就行了 。

        当然这种方法不推荐使用,因为在浏览器地址栏只要输入正确的方法都会执行,我感觉不太安全。

       还有一种比较复杂的方法就是用通配符,这个方法比较复杂一些,首先要有一定的约定,第三种方法呢暂时就不写,大家可以百度一下。

Struts2 让跳转指定执行某个方法