小编tro*_*roy的帖子

Spring MVC如何禁止数据绑定到ModelAttribute?

我有一个简单的@Controller类,在用户登录后呈现页面:

@Controller
@SessionAttributes("user")
public class DashBoardController {

    @RequestMapping(value="/user/dashBoard", method=RequestMethod.GET)
    public String showDashBoardPage(@ModelAttribute("user") User user, Model model) {
        //do some work here....
        return "dashBoard";
    }

}
Run Code Online (Sandbox Code Playgroud)

如你所见,user属性已经存在于会话中,并且通过使用@ModelAttribute注释我只想从那里拉出来,没有别的.但是如果你为请求添加任何参数,那么spring会尝试将此参数绑定到现有的用户对象,这不是我想要的,如何禁止这种行为?

更具体地说,这是User类:

public class User {

   private String name;
   private String password;
   private Language language;

   //public getters and setters here...
} 
Run Code Online (Sandbox Code Playgroud)

如果我想更改dashBoard页面的语言,我请求添加?language=en参数的页面,在这种情况下,Spring会尝试更改用户模型属性的语言字段,这当然会因类型不匹配异常而失败.当然,我可以通过将参数名称更改为与任何User字段都不匹配的内容来处理,但这似乎是一个脆弱的解决方案.有没有办法控制这种数据绑定行为?我使用Spring 4.1.3

java spring-mvc

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

在jodaTime获得主要月份名称

我需要根据它的号码得到月份名称Locales.

要做到这一点,我创建一个DateTime(或YearMonth无关紧要)对象并获取其monthOfYear属性:

YearMonth md = new YearMonth(1992, month);
System.out.println(md.monthOfYear().getAsText(new Locale("ru")));
Run Code Online (Sandbox Code Playgroud)

事情是适用于英语,因为Nominative和Genitive名称是相同的,但对于其他语言,它只返回Genitive,这不是我需要的.

如何获得有名的月份名称?

java jodatime

8
推荐指数
2
解决办法
4183
查看次数

PrimeFaces 具有动态选项卡数量的“tabChange”事件

我需要获取 TabView 中当前活动选项卡的标题。TabView 由动态数量的选项卡构成,监听器附加到“tabChanged”:

<p:tabView value="#{bean.list}" var="listItem">
  <p:ajax event="tabChange" listener="#{listenerBean.onChange}" />
  <p:tab title="#{listItem.stringProperty}">
  </p:tab>
</p:tabView>
Run Code Online (Sandbox Code Playgroud)

问题是 onChange(TabChangeEvent event) 接收到的 TabChangeEvent 对象始终包含第一个选项卡而不是活动选项卡。

public void onChange(TabChangeEvent event) {
    event.getTab().getTitle(); //allways returns title of first tab
}
Run Code Online (Sandbox Code Playgroud)

如果我显式定义每个选项卡,则此行为仅适用于 TabView 中的动态选项卡数量,TabChangeEvent 工作正常。

有什么建议么?谢谢。

我将 PrimeFaces 3.5 与 JSF2.1 和 Servlet 2.5 一起使用

jsf primefaces

5
推荐指数
1
解决办法
5526
查看次数

标签 统计

java ×2

jodatime ×1

jsf ×1

primefaces ×1

spring-mvc ×1