小编Los*_*809的帖子

放置映射器代码的最佳层是服务层还是控制器层?

我想问一下建筑模式。我编写了两个片段代码来演示我的要求。

第一种方法是:

//a method on controller layer (in Spring framework)
@RequestMapping(...)
public ShopDTO findShop(final Long shopId) {
    Shop shop = shopService.getShopById(shopId);
    ShopDTO shopDTO = shopMapper.toShopDTO(shop);
    return shopDTO;
}

//A method on service layer
@Transactional
public Shop getShopById(final Long shopId) {
    //some code to find an entity by id
}
Run Code Online (Sandbox Code Playgroud)
  • ShopDTO注意:从商店实体映射到控制器层的代码。

第二种方式是:

//a method on controller layer (in Spring framework)
@RequestMapping(...)
public ShopDTO findShop(final Long shopId) {
    ShopDTO shopDTO = shopService.getShopById(shopId);
    return shopDTO;
}

//A method on service layer
@Transactional …
Run Code Online (Sandbox Code Playgroud)

java design-patterns spring-mvc

12
推荐指数
1
解决办法
6161
查看次数

该课程没有财产

在我的实体中:

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(unique=true, nullable=false)
private int tId;
....
public int getTId() {
      return this.tId;
}

public void setTId(int tId) {
      this.tId = tId;
}
Run Code Online (Sandbox Code Playgroud)

和我的JSF页面中的代码:

<ui:repeat value="#{techCat.techsOfCat}" var="post">
    <h:outputText value="#{post.getTId()}"/>
        ...
</ui:repeat>
Run Code Online (Sandbox Code Playgroud)

结果很好.但如果我编码:

<ui:repeat value="#{techCat.techsOfCat}" var="post">
    <h:outputText value="#{post.tId}"/>
    ...
</ui:repeat>
Run Code Online (Sandbox Code Playgroud)

我遇到了一个错误:

value="#{post.tId}": The class 'model.Technology' does not have the property 'tId'.
Run Code Online (Sandbox Code Playgroud)

我真的不明白那个错误.你能跟我解释一下吗?谢谢

jsf properties el javabeans

9
推荐指数
1
解决办法
3万
查看次数

将JSF输入提交值的请求字符编码设置为UTF-8

我遇到的问题与在GlassFish中将JSF输入提交值的设置请求字符编码设置为UTF-8相同,提交的值以Mojibake形式到达.但是,答案是针对GlassFish而我正在使用JBoss AS 7.

我已经指定了JDBC连接URL以使用UTF-8:

jdbc:mysql://localhost:3306/mydb?useUnicode=yes&characterEncoding=UTF-8
Run Code Online (Sandbox Code Playgroud)

在我的JSF页面顶部:

<?xml version='1.0' encoding='UTF-8' ?>
Run Code Online (Sandbox Code Playgroud)

如何在JBoss AS 7中解决同样的问题?或者更好,以更通用的方式使其适用于所有服务器?

jsf utf-8 character-encoding http-request-parameters

6
推荐指数
1
解决办法
2万
查看次数

当实体停止在 JPA 中管理时

我说的是JavaEE中的JPA。我读过的一本书里谈到:

EntityManager em;
em.find(Employee.class, id);
Run Code Online (Sandbox Code Playgroud)

“这是实体管理器在数据库中查找实例所需的所有信息,当调用完成时,返回的员工将是一个托管实体,这意味着它将存在于与该实体关联的当前持久性上下文中经理 - pro-ejb3-jpa”。但我不知道一个实体何时停止被管理,merge()如果我想更新、删除,我必须再次被管理......

entity jpa

4
推荐指数
1
解决办法
2086
查看次数