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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章