2012-05-02 2 views
2

i wonder "# {request.userPrincipal.name}" в конфигурации удар. когда я запускаю свой весенний социальный проект, он всегда имеет ошибку при «# {request.userPrincipal.name}», если я устанавливаю значение, например «123», мой проект работает хорошо. что не так, и есть ли другая конфигурация вместо «# {request.userPrincipal.name}»?о spring social xml configuration

<bean id="connectionRepository" factory-method="createConnectionRepository" factory-bean="usersConnectionRepository" scope="request"> 
    <constructor-arg value="#{request.userPrincipal.name}" /> 
    <aop:scoped-proxy proxy-target-class="false" /> 
</bean> 
+0

Какая именно ошибка вы получаете? – abalogh

+0

@ Вы пытаетесь заполнить значение # {request.userPrincipal.name}, используя файл реквизита, если да, то я думаю, что вы должны использовать $ {request.userPrincipal.name}, $ вместо # –

+0

yes Я хочу используйте $ {request.userPrincipal.name}, но я не знаю. Как установить правильное значение! Он всегда имеет такую ​​ошибку: org.springframework.expression.spel.SpelEvaluationException: EL1007E: (pos 22): Поле или имя свойства 'name' не могут быть найдены на нуле – Seong

ответ

0

Это Spring EL expression, что означает получение идентификатор пользователя из запроса HTTP. После того как вы примените свой собственный компонент управления пользователями, вы можете заменить #{request.userPrincipal.name} своим собственным способом.

+0

Как создать свой собственный компонент User Management и заменить # {request. userPrincipal.name} ??? если я хочу использовать # {request.userPrincipal.name}, как я могу это сделать? – Seong

+0

@Seong Вы можете использовать существующую инфраструктуру для реализации компонента User Management, например, используя Spring security. В простейшей форме вы можете привязать идентификатор пользователя как параметр http, например, «http://example.com?username=foo», поэтому # {request.username} будет равно foo. – Cole

+0

, но HttpServletRequest не имеет метода getUsername(). поэтому SpEL не может получить значение из request.username -_-! – Seong