2014-11-07 2 views
0

У меня есть приложение для struts 1.Как обойти конфликт имен между параметрами и полями бобов в стойках 1

Пользователь, у которого нет учетной записи, приходит и перенаправляет их на страницу, чтобы настроить свою учетную запись. Пользователь пришел с некоторыми параметрами в URL.

Страница создания учетной записи имеет форму с итерацией в ней, которая использует имя sys.

public void setSys(Domain d, int i) 
{...} 

Результатом является сброс стека, поскольку фреймворк пытается установить foo в bean-компонент.

java.lang.reflect.InvocationTargetException: Cannot set sys 
at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1025) 
at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811) 
at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298) 
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1252) 
at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821) 
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254) 
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) 
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:844) 
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:242) 
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:216) 
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:132) 
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:352) 
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25) 
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:74) 
at com.aaron.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:179) 

Как я могу обойти это конфликт имен? Я мог бы переименовать одно из полей, но я все же остаюсь открытым для других конфликтов имен.

ответ

0

В итоге я переименовал поле, чтобы избежать конфликта имен. Если кто-то придумает другой способ, пройдите дальше и опубликуйте его.