Struts2-1

默认执行的execute方法:

public class LoginValidate extends ActionSupport {
private User user; //用户对象
private String msg;

public User getUser() {
return user;
}

public void setUser(User user) {
this.user = user;
}
public String getMsg() {
return msg;
}

public void setMsg(String msg) {
this.msg = msg;
}

//验证登陆信息
public String execute() {
System.out.println("用户名:" + user.getUsername());// 打印输入用户账号
System.out.println("密 码:" + user.getPassword());// 打印输出用户密码
if ("admin".equals(user.getUsername()) && "1234".equals(user.getPassword())) {
msg = "账号密码正确";
return "success";
}
msg = "对不起账号密码有误";
return "error";
}
}

默认正确返回success:



<struts>
<package name="hello" namespace="/" extends="struts-default">
<action name="helloworld" class="com.chinasoft.action.HelloWorld">
<result name="success">/index.jsp</result>
</action>
<action name="loginuser" class="com.chinasoft.action.LoginValidate">
<result name="success">/login.jsp</result>
<result name="error">/login.jsp</result>
</action>
</package>
</struts>

--------------------------------------------------------------------------------
action里面的代码

public class MusicAction {
public String fun(){
System.out.println("执行了fun方法");
return "fun";
}
public String add(){
System.out.println("执行了add方法");
return "add";
}
public String delete(){
System.out.println("执行了delete方法");
return "delete";
}
public String update(){
System.out.println("执行了update方法");
return "update";
}
public String select(){
System.out.println("执行了select方法");
return "select";
}
}

<struts>
<!-- 为action指定method属性 页面上调用的是fun.action-->
<package name="musicfun" namespace="/" extends="struts-default">
<action name="fun" class="com.chinasoft.action.MusicAction" method="fun">
<result name="fun">/index.jsp</result>
</action>
</package>
<!-- 动态方法调用 ,页面上写music!add.action等 -->
<package name="musicManage" namespace="/" extends="struts-default">
<action name="music" class="com.chinasoft.action.MusicAction">
<result name="add">addmusic.jsp</result>
<result name="delete">/deletemusic.jsp</result>
<result name="update">/updatemusic.jsp</result>
<result name="select">/selectmusic.jsp</result>
</action>
</package>
<!-- 使用通配符 页面上写music_add.action等 -->
<package name="musicpk" namespace="/" extends="struts-default">
<action name="music_*" class="com.chinasoft.action.MusicAction" method="{1}">
<result name="{1}">/{1}music.jsp</result>
</action>
</package>
</struts>

--------------------------------------------------------------------------------
配置结果集:

<struts>
<!-- 该属性设置Struts 2是否支持动态方法调用,该属性的默认值是true -->
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<package name="nusic" namespace="/" extends="struts-default">
<!-- 配置结果集 -->
<!-- 动态方法调用 ,页面上写musicmanager!queryMusic.action等 -->
<action name="musicmanager" class="com.chinasoft.action.MusicManagerAction">
<result name="queryMusic">/musicList.jsp</result>
<result name="deleteMusic">/musicList.jsp</result>
<result name="addMusic" type="redirectAction">
<param name="actionName">musicmanager</param>
<param name="method">queryMusic</param>
</result>
</action>
<!-- 在Action中访问Servlet API -->
<action name="servletapi" class="com.chinasoft.action.ServletAPIAction"
method="showServletApi">
<result>/api.jsp</result>
</action>
</package>
</struts>

--------------------------------------------------------------------------------
实现第二次免登录

//登录成功后保存登录信息
HttpSession session = ServletActionContext.getRequest().getSession();
session.setAttribute("user", user);

在jsp页面判断是否有session
<s:if test="#session.user!=null">
</div>
<p>欢迎光临${user.username }</p>
<div>
</s:if>
<s:else>
<form action="login.action" method="post">
<p class="msg"></p><br>
<p>用户名:<input type="text" name="user.username" class="ipt"> <font style="微软雅黑" size='2'></font><br><br>
<p>密 码:<input type="password" name="user.password" class="ipt"></p><br>
<p class="dl"><input type="image" src="images/dl.jpg"></p>
<!--fieldErrorss是个数组,fieldErrors['logininfo']也是数组 -->
<p style="color: red">${fieldErrors['logininfo'][0]}</p>
</form>
</s:else>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章