struts

// 获取ACTION上下文
ActionContext context = ActionContext.getContext();
// 获取session
Map session = context.getSession();


购物车

List cart=null;
//初始化购物车
public void initcar(){
cart=(List) session.get("cart");
if(cart==null){
cart=new ArrayList();
}
session.put("cart", cart);
}


//显示购物车里面的信息
public String ShowBookbyIdtoCart() throws Exception {
// TODO Auto-generated method stu
cart=(List) session.get("cart");

for (int i = 0; i < cart.size();i++) {
Book book=userdao.getBookById(cart.get(i));
books.add(book);
}
return Action.SUCCESS;
}



//获取所有图书
public String GetBook() throws Exception {
List listbook=userdao.getBook();
session.put("books", listbook);
return Action.SUCCESS;
}

//购买的图书  即根据id获取图书
public String GetBookbyId() throws Exception {
cart=(List) session.get("cart");
cart.add(bookid);
return Action.SUCCESS;
}


//jsp界面需要写的获取图书
第一种方法
     <c:forEach var="book" items="${books}" varStatus="s">
      <tr>
       <td>${book.bookid}</td>
        <td>《${book.bookname}》</td>
         <td>${book.auther}</td>
          <td>${book.press}</td>
           <td>${book.price}</td>
            <td><a href="#">购买</a></td>
      </tr>
      </c:forEach>
第二种方法

<s:iterator value="books" var="book"> 
<tr> 
  <td>
	<s:property value="#book.id"/>
 </td> 
 <td>
	《<s:property value="#book.name"/>》
 </td> 
 <td>
	<s:property value="#book.auther"/>
 </td> 
 <td>
	<s:property value="#book.press"/>
 </td> 
 <td>
	<s:property value="#book.price"/>
 </td>
 </tr> 
</s:iterator>
变式处理
即:登陆之后直接跳转到图书商城界面

此处需要注意的是:
第一个login是jsp界面form表单提交的login
第二个login是action界面里面execute()的别称
eg:

       
       <!-- 登录ACTION -->
        <action name="Login" class="com.demo.struts2.action.UserAction" method="Login">
            <result name="success"   type="chain">getBookList </result>
        </action>
        

        
        <!-- 获取图书列表 -->
         <action name= "getBookList" class="com.demo.struts2.action.BookAction" method="getBookList">
            <result name="success">/index.jsp</result>
        </action>



//登陆
public String Login() throws Exception {
if (userdao.getLogin(user.getUsername(),user.getPassword())==true) {
//登陆之后就给初始化一辆购物车
initcar();
return Action.SUCCESS;
}
return Action.ERROR;
}




 

你可能感兴趣的:(购物车,jsp界面获取图书信息写法,根据id获取购物车里面的值,变式处理)