簡體   English   中英

在Struts Action類中使用訪問JSP表單數據

[英]Accessing JSP form data with in the Struts Action class

我是struts的新手用戶。 這是我使用Struts的第一個應用程序,我不了解如何在Action類的jsp頁面中訪問表單數據

login.jsp:

 <div class="well">
    <form id="loginForm" method="POST" action="hr/login/" novalidate="novalidate">
        <div class="form-group">
            <div class="input-group">
                <span class="input-group-addon" id="UserEmail"><i class="fa fa-user" title="Enter Your username"></i></span>
                <input type="text" class="form-control" id="username" name="username" value="" required title="Please enter you username" placeholder="Enter Username" />
            </div>
            <span class="help-block"></span>
        </div>
        <div class="form-group">
            <div class="input-group">
                <span class="input-group-addon" id="UserPasswordMatch"><i class="fa fa-lock" title="Choose password"></i></span>
                <input type="password" class="form-control" id="passwordmatch" name="passwordmatch" value="" required title="Enter your password" placeholder="Enter Password" />
            </div>
        </div>
        <button type="submit" class="btn btn-success btn-block">Login</button>
    </form>
</div>

BookingAction.java:

public class BookingAction {
    private String name;

    HotelReservationServceImpl service = new HotelReservationServceImpl();

       public String execute() throws Exception {

          return "success";
       }

       public String loginExecute() 
       {


           return "success";
       }
       public String getName() {
          return name;
       }

       public void setName(String name) {
          this.name = name;
       }
}

我也有一個帶有私有屬性的User類,其中包括帶有getter和setter的usernamepassword

service.java:

public class HotelReservationServceImpl implements IHotelReservationService {


    HotelReservationDAOImpl dbcon = new HotelReservationDAOImpl();
    @Override
    public int login(String username, String passwrd) {
        if(username.isEmpty() || passwrd.isEmpty())
        {
            System.out.print(" Enter username and password ");

        }
        else
        {
        int i = dbcon.login(username, passwrd);

        }


        //dbcon.dbConnector();
        return 0;
    }
}

struts.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
   "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
   <package name="helloworld" extends="struts-default">

      <action name="hello" 
            class="com.reservation.action.BookingAction" 
            method="execute">
            <result name="success">/HelloWorld.jsp</result>
      </action>
      <action name="login"
       class="com.reservation.action.BookingAction" 
            method="loginExecute">
            <result name="success">/HelloWorld.jsp</result>
      </action>
   </package>
</struts>

使用Struts標記將表單綁定到動作,將輸入字段綁定到動作屬性。

<%@ taglib prefix="s" uri="/struts-tags" %>

<s:form id="loginForm" method="POST" action="login" novalidate="novalidate">    
    <div class="form-group">
        <div class="input-group">
            <span class="input-group-addon" id="UserEmail"><i class="fa fa-user" title="Enter Your username"></i></span>
            <s:textfield cssClass="form-control" id="username" name="user.username" value="" required title="Please enter you username" placeholder="Enter Username" />
        </div>
        <span class="help-block"></span>
    </div>
    <div class="form-group">
        <div class="input-group">
            <span class="input-group-addon" id="UserPasswordMatch"><i class="fa fa-lock" title="Choose password"></i></span>
            <s:password cssClass="form-control" id="passwordmatch" name="user.password" value="" required title="Enter your password" placeholder="Enter Password" />
        </div>
    </div>
    <button type="submit" class="btn btn-success btn-block">Login</button>
</s:form>

要綁定表單,您應該將操作名稱設置為form標記。 要綁定輸入字段,您應該將屬性名稱設置為struts輸入標簽。

這些屬性位於您應該聚合到操作類的User Bean中。

private User user;
public User getUser() { return user; }
public void setUser(User user) { this.user = user; }

如果您不想為頁面生成額外的HTML,請使用

<constant name="struts.ui.theme" value="simple"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM