저는 10 살짜리 Struts 1.2 애플리케이션의 유지 보수를 맡았습니다. (너무 복잡하고 게시하기에 독점적입니다.)Struts ActionForm 잃어버린 요청 범위
응용 프로그램은 이전에 세션에 저장되었던 몇 가지 ActionForms를 사용합니다. 최신 변경 요청은 동시에 여러 ActionForm을 열 것을 요구하기 때문에 ActionForm의 구성을 세션 범위에서 struts-config로 범위를 요청하도록 변경했습니다.
이 변경으로 PageContext 개체 내에서 ActionForm을 찾는 사용자 지정 태그 코드가 손상됩니다. (그리고 우리가이 오류로 인해 테스트 할 수 없었던 다른 기능을 깰 수 있습니다.)
을 코드는이 호출에 TagUtils.getRealValueFromBean
내가 해봤조정 매개 변수를 사용하여 ActionForm을 찾고 있습니다 요청 범위를 지정하고 요청 객체의 속성 내에서 살펴 보았지만 ActionForm이 없습니다! JSP 내의 Java 코드는 Request 객체 내에 그러한 속성을 보여주지 않습니다. (새로 고침 이벤트가 새 ActionForm을 만들 수 있지만 여기에는 Request 객체 내에 ActionForm이 전혀 없다고 들었습니다.) 아직 데이터베이스에서 객체를 가져 오는 Action의 맨 아래에 ActionForm이 있습니다. Request 객체.
나는 세션이나 요청 범위 중 하나에 구성 할 수있는 ActionForm이있는 작은 테스트 응용 프로그램을 만들었지 만 요청에서의 ActionForm의 검색이 잘 작동!
/방식을 추적하는 위치의 어떤 생각을 ActionForm이 어떻게 달라 지는지 아래에서 확인하십시오.
또는 ActionFor의 여러 인스턴스를 지원하는 방법 scope=session
을 유지하면서 m?
당신이 말했던 때의 의미는 무엇입니까? : * 여러 개의 ActionForm을 동시에 열 수 있습니까? 같은'ActionForm'의 여러 인스턴스를 사용하는 동일한 요청? –
이 응용 프로그램에서 ActionForm은 도메인 객체에 매핑됩니다. 응용 프로그램은 사용자가 한 번에 단일 도메인 개체를 열도록 제한했지만 사용자는 한 번에 둘 이상의 열 수있는 기능을 요청했습니다. – Mitch
각 사용자에 대한 객체 목록 */ActionForm은 어떻습니까? 그것이'scope = session'으로 남아 있다고 가정합니다. –