十三:SpringSide三层的注解

1.jsp跳转到jsp

先从jsp跳转到action的某个方法里,然后从方法的return input;到另一个jsp页面

2.springSide的程序入口在哪儿?

默认的index页面把他的<% response.sendRedirect("account/healthRoad.action"); %>定义到某个action

3.jsp跳到action中?

form表单提交

4.action跳到jsp中?

有程序默认的几个常量:input reload则到相应的jsp页面。

5.注意事项:

action内,dml方法的返回值如果是默认的就返回常量  input reload等【没有引号】;

dml方法的返回值如果是自定义的放回值就需要加双引号。

6.jsp页面如何从数据库里面取值?

利用iterator遍历

eg<s:iterator value="page.result">

         <tr>

                   <td>${loginName}&nbsp;</td>

                   <td>${name}&nbsp;</td>

                   <td>${email}&nbsp;</td>

                   <td>${roleNames}&nbsp;</td>

                   <td>&nbsp;

                   <a href="user!input.action?id=${id}">查看</a>&nbsp;

                   <a href="user!input.action?id=${id}">修改</a>&nbsp;

                   <a href="user!delete.action?id=${id}">删除</a>

                   <a href="user!input.action">增加新用户</a>

                   </td>

         </tr>

   </s:iterator>

7.springSide中如何实现分页?

action中这样写:

//-- CRUD Action 函数 --//

         @Override

         public String list() throws Exception {

                   List<PropertyFilter> filters = PropertyFilter.buildFromHttpRequest(Struts2Utils.getRequest());

                   //设置默认排序方式

                   if (!page.isOrderBySetted()) {

                            page.setOrderBy("id");

                            page.setOrder(Page.ASC);

                   }

                   page = accountManager.searchUser(page, filters);

                   return SUCCESS;

         }

【解析:】所实现的功能:加载所有数据,并实现分页。

1.action默认执行list方法。

2.filters表示过滤的条件基本不变。Struts2Utils需要导入包。

3.排序

4.accountManager表示service

5.page。是在action类上面定义的属性 private Page<User> page = new Page<User>(5);//每页5条记录。Page是系统自定义的类。专门用来实现分页。

6.success系统定义的一个常量,基本不变(或者自定义字符串也行)

 

service中这样写:

         /**

          * 使用属性过滤条件查询用户.

          */

         @Transactional(readOnly = true)

         public Page<User> searchUser(final Page<User> page, final List<PropertyFilter> filters) {

                   return userDao.findPage(page, filters);

         }

 

dao中这样写:

 

jsp页面中这样写:

                   <div>

                            ${page.pageNo},${page.totalPages}

                            <a href="javascript:jumpPage(1)">首页</a>

                            <s:if test="page.hasPre"><a href="javascript:jumpPage(${page.prePage})">上一页</a></s:if>

                            <s:if test="page.hasNext"><a href="javascript:jumpPage(${page.nextPage})">下一页</a></s:if>

                            <a href="javascript:jumpPage(${page.totalPages})">末页</a>

                   </div>

=================================================================【注入】===========================================================================================

一:类与类之间的注入依赖关系

action中:

       @Namespace("/account")

       @Results( {

                    @Result(name = CrudActionSupport.RELOAD, location = "healthRoad.action", type = "redirect"),

                    @Result(name="healthRoad_jsp",location="healthRoad.jsp"),

                    })

       @Action("healthRoad")

       @Autowired(注入在public void setHealthRoadService类上面)

效果图如下:

services中:

       @Component

       @Transactional(readOnly = true)

       @Autowired

       public void setAccountManager

效果图如下:

dao中:

       @Component

效果图如下:

entity中:

       @Entity

       @Table(name = "ACCT_USER")

       @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)

       @Column(nullable = false, unique = true)

      

       //多对多定义

       @ManyToMany

       //中间表定义,表名采用默认命名规则

       @JoinTable(name = "ACCT_USER_ROLE", joinColumns = { @JoinColumn(name = "USER_ID") }, inverseJoinColumns = { @JoinColumn(name = "ROLE_ID") })

       //Fecth策略定义

       @Fetch(FetchMode.SUBSELECT)

       //集合按id排序.

       @OrderBy("id")

       //集合中对象id的缓存.

 

       //非持久化属性.

       @Transient

       @SuppressWarnings("unchecked")

效果如下:


二:相关注记的含义及用途

 

=================================================================DML操作】===========================================================================================

action类:

 extends CrudActionSupport<HealthRoad> 重写 prepareModel()getModel()

save();delete();list();input();

getpage();getId() 

 

service类:

  list(),searchPage()返回page对象;delelteHealthRoad();saveHealthRoad();都返回void类型。 getHealthRoad();返回对象类型

dao类:

 extends HibernateDao<User, Long>

entity类:

 需要从写getNodeid()方法,以便修改的时候获取页面id元素;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值