小编dig*_*oel的帖子

Guice和JSF 2

我正在尝试使用Guice来注入JSF托管bean的属性.这一切都在Google App Engine上运行(可能重要也可能不重要)

我按照这里的说明操作:

http://code.google.com/docreader/#p=google-guice&s=google-guice&t=GoogleAppEngine

一个问题是第一步.我无法继承Servlet模块并在那里设置我的servlet映射,因为Faces由javax.faces.webapp.FacesServlet处理,它是Servlet的子类,而不是HttpServlet.因此,我尝试将我的servlet配置保留在web.xml文件中,并在第二步中描述的上下文侦听器中创建注入器时,简单地实例化一个新的ServletModel()以及我的业务模块.

完成所有这些以及web.xml配置后,我的托管bean没有注入任何属性.方法如下

@ManagedBean
@ViewScoped
public class ViewTables implements Serializable
{
    private DataService<Table> service;

    @Inject
    public void setService( DataService<Table> service )
    {
        this.service = service;
    }
    public List<Table> getTables()
    {
        return service.getAll();
    }
}
Run Code Online (Sandbox Code Playgroud)

所以,我想知道是否有一个技巧让Guice注入JSF托管bean?我显然不能使用构造函数注入,因为JSF需要一个no-arg构造函数来创建bean.

jsf google-app-engine dependency-injection guice

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

@PreAuthorize弹簧控制器在授权失败时发送重定向

我有Spring安全性成功评估了我的控制器上的@PreAuthorize.如果我使用"permitAll"然后我可以查看页面,如果我使用"isAuthenticated()",那么我得到一个丑陋的访问被拒绝的堆栈跟踪.如果我将配置放在我的安全上下文配置xml文件中的http节点内的intercept-url中,那么我很好地重定向到登录页面,而不是在我的页面中获得令人讨厌的堆栈跟踪.

有没有办法让我只使用注释机制进行重定向?

java spring-mvc spring-security

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

@PreAuthorize在一种方法上被调用,但在另一种方法上没有被调用

在我的spring配置文件中 <global-method-security pre-post-annotations="enabled"/>

在我的春季@Controller中,我有一个@RequestMapping,其上具有一个@PreAuthorize,如下所示:

@PreAuthorize("true == false")
@RequestMapping(value="/image", method=RequestMethod.GET )
@ResponseBody
public ResponseEntity<byte[]> getImage(
        @RequestParam(value="imageSet", required=false) Long imageSetKey
        , @RequestParam(required=false, defaultValue="70") Integer size
        , @RequestParam(required=false) Unit unit
        , @RequestHeader( value="if-none-match", required=false ) String etag 
)
{
    // use the latest and greatest for the unit if they specify the unit, otherwise use the imageSetKey they pass in.
    if ( unit != null )
    {
        return getUnitImage( unit, size, etag );
    }
    // more code to do other stuff
}
Run Code Online (Sandbox Code Playgroud)

现在,此@PreAuthorize已评估并且可以正常工作。如果将PreAuthorize放在getUnitImage方法上,则不会对其进行评估,并且我可以很好地进入该方法。这是不评估@PreAuthorize的方法。 …

java spring spring-security

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

Java表达式语言错误";" 预期

好的我是初学者,我必须修复这个java表达式语言代码才能在我的系统中运行(Windchill),但看起来我在语法中缺少一些东西:

    LWCNormalizedObject lwc = new LWCNormalizedObject(cr, null, null, null);
    lwc.load(wt.change2.WTChangeRequest2.theCategory);
    Object bUnit = lwc.get(wt.change2.WTChangeRequest2.theCategory);
    If ((bUnit.toString()).equals("PRODUCT_IMPROVEMENT")) {
        wt.team.Team team = (wt.team.Team) ( (wt.workflow.engine.WfProcess) self.getObject() ).getTeamId().getObject();
        java.util.Enumeration principals = team.getPrincipalTarget(wt.project.Role.toRole("Product Manager"));
        while(principals.hasMoreElements()) 
        { 
            wt.org.WTPrincipal wtprincipal = ((wt.org.WTPrincipalReference)principals.nextElement()).getPrincipal(); 
            System.out.println("principal = " + wtprincipal.getPrincipalDisplayIdentifier()); 
            wt.team.TeamHelper.service.addRolePrincipalMap(wt.project.Role.toRole("Change Admin II "),wtprincipal, team ); 
        }
    }
Run Code Online (Sandbox Code Playgroud)

我在第4行遇到错误:

    If ((bUnit.toString()).equals("PRODUCT_IMPROVEMENT")) {
Run Code Online (Sandbox Code Playgroud)

任何帮助将受到高度赞赏= D.

java

0
推荐指数
1
解决办法
378
查看次数