English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
struts.objectFactory 이 속성은 Struts2의 객체 풀 생성 팩토리, Struts2Spring과 같이 자신의 객체 풀을 가지고 있습니다. 구성 파일에서 객체 풀의 객체를 참조할 수 있습니다. Spring의 객체 풀을 사용하여, Spring의 객체 풀을 얻고자 할 때, struts.objectFactory를 Spring의 객체 풀 빌드 팩토리로 선언할 수 있습니다...
struts.serve.static.browserCache 이 속성은 브라우저가 정적 내용을 캐시하는지 설정합니다. 애플리케이션이 개발 단계에 있을 때, 항상 서버의 최신 응답을 받고 싶다면 이 속성을 false로 설정할 수 있습니다.
struts.enable.DynamicMethodInvocation 이 속성은 Struts 2동적 메서드 호출을 지원하는지 설정합니다. 이 속성의 기본 값은 true입니다. 동적 메서드 호출을 끄려면 이 속성을 false로 설정할 수 있습니다.
struts.enable.SlashesInActionNames 이 속성은 Struts 2Action 이름에서 슬래시(/)를 사용할 수 있는지 설정합니다. 이 속성의 기본 값은 false입니다. 개발자가 Action 이름에서 슬래시(/)를 사용할 수 있도록 하려면, 이 속성을 true로 설정할 수 있습니다。
struts.tag.altSyntax이 속성은 Struts 2태그에서 표현식 문법을 사용합니다. 대부분의 태그에서 표현식 문법이 필요하기 때문에, 이 속성은 true로 설정되어야 합니다. 이 속성의 기본 값은 true입니다。
struts.devMode이 속성은 Struts 2애플리케이션이 개발 모드를 사용하는지 여부를 결정합니다. 이 속성을 true로 설정하면 애플리케이션에서 오류가 발생할 때 더 많고 더 친절한 오류 알림을 표시할 수 있습니다. 이 속성은 true와 false 두 가지 값만을 받아들입니다. 이 속성의 기본 값은 false입니다. 일반적으로, 개발 단계에서 이 속성을 true로 설정하고, 제품 배포 단계에서는 이 속성을 false로 설정합니다。
struts.i18n.reload이 속성은 매번 HTTP 요청이 도착할 때마다 시스템이 자원 파일을 다시 로드할지 설정합니다. 이 속성의 기본 값은 false입니다. 개발 단계에서 이 속성을 true로 설정하면 개발에 더 유리하지만, 제품 배포 단계에서는 이 속성을 false로 설정해야 합니다。
페이지 알림 개발 단계에서 이 속성을 true로 설정하면, 각 요청마다 국제화 자원 파일을 다시 로드할 수 있어 개발자가 실시간 개발 효과를 볼 수 있습니다;제품 배포 단계에서는 이 속성을 false로 설정해야 합니다. 이렇게 하면 응답 성능을 제공하고, 각 요청마다 자원 파일을 다시 로드하면 애플리케이션의 성능이 크게 저하됩니다。
struts.ui.theme该属性指定视图标签默认的视图主题,该属性的默认值是xhtml。
struts.ui.templateDir该属性指定视图主题所需要模板文件的位置,该属性的默认值是template,即默认加载template路径下的模板文件。
struts.ui.templateSuffix该属性指定模板文件的后缀,该属性的默认属性值是ftl。该属性还允许使用ftl、vm或jsp,分别对应FreeMarker、Velocity和JSP模板。
struts.configuration.xml.reload该属性设置当struts.xml文件改变后,系统是否自动重新加载该文件。该属性的默认值是false。
struts.velocity.configfile该属性指定Velocity框架所需的velocity.properties文件的位置。该属性的默认值为velocity.properties。
struts.velocity.contexts 이 property는 Velocity 프레임워크의 Context 위치를 지정하며, 여러 Context가 있을 경우 여러 Context 사이에 영문 콤마(,)로 구분됩니다.
struts.velocity.toolboxlocation 이 property는 Velocity 프레임워크의 toolbox 위치를 지정합니다.
struts.url.http.port 이 property는 Web 애플리케이션이 위치한 리스닝 포트를 지정합니다. 이 property는 일반적으로 많은 사용자가 없으며, Struts 2URL을 생성해야 하는 경우(예: Url 태그)에만 이 property가 Web 애플리케이션의 기본 포트를 제공합니다.
struts.url.https.port 이 property는 struts.url.http.port property와 유사하지만, 이 property는 Web 애플리케이션의 암호화된 서비스 포트를 지정합니다.
struts.url.includeParams 이 property는 Struts 2URL을 생성할 때(예: Url 태그) 요청 파라미터를 포함하는지 여부를 지정합니다. 이 property는 none, get, all 세 가지 값을 받아들이며, 각각은 포함하지 않음, GET 타입 요청 파라미터만 포함, 모든 요청 파라미터를 포함하는 것을 의미합니다.
struts.custom.i18n.resources 이 property는 Struts 2애플리케이션에 필요한 국제화 자원 파일이 있을 경우, 여러 자원 파일의 파일 이름은 영문 콤마(,)로 구분됩니다.
struts.dispatcher.parametersWorkaround 일부 Java EE 서버는 HttpServlet Request가 getParameterMap() 메서드를 지원하지 않으며, 이 경우 이 property 값을 true로 설정하여 문제를 해결할 수 있습니다. 이 property의 기본 값은 false입니다. WebLogic, Orion 및 OC4J 서버를 지정하며, 일반적으로 이 property 값을 true로 설정해야 합니다.
struts.freemarker.manager.classname 이 property는 Struts 2이 사용하는 FreeMarker 관리자입니다. 이 property의 기본 값은 org.apache.struts2.views.freemarker.FreemarkerManager는 Struts 2내장된 FreeMarker 관리자.
struts.freemarker.wrapper.altMap이 property는 true와 false 두 가지 값을 지원하며, 기본 값은 true입니다. 일반적으로 이 property 값을 변경할 필요는 없습니다.
struts.xslt.nocache 이 속성은 XSLT Result가 스타일 시트 캐시를 사용하는지 지정합니다. 애플리케이션이 개발 단계에 있을 때는 이 속성이 일반적으로 true로 설정되며, 애플리케이션이 상품 사용 단계에 있을 때는 일반적으로 false로 설정됩니다。
struts.configuration.files 이 속성은 Struts 2프레임워크가 기본으로 로드하는 설정 파일입니다. 기본 로드할 여러 개의 설정 파일을 지정하려면, 여러 개의 설정 파일 이름 사이에 영문 쉼표(,)로 구분합니다. 이 속성의 기본 값은 struts- default.xml, struts-plugin.xml, struts.xml에서 해당 속성 값을 볼 때, 독자는 Struts 2struts.xml 파일을 기본으로 로드합니다.
구체적으로 설명합니다2-plugin.xml에 spring
<struts> <bean type="com.opensymphony.xwork2.ObjectFactory" name="spring" class="org.apache.struts2.spring.StrutsSpringObjectFactory" /> <!-- Spring 객체 팩토리를 자동 기본으로 설정합니다 --> <constant name="struts.objectFactory" value="spring" /> <package name="spring-default"> <interceptors> <interceptor name="autowiring" class="com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor"/> <interceptor name="sessionAutowiring" class="org.apache.struts2.spring.interceptor.SessionContextAutowiringInterceptor"/> </interceptors> </package> </struts
주의<constant name="struts.objectFactory" value="spring"/>
여기서 이 프레임워크 상수 struts.objectFactory覆盖了,设置为”spring”,실제로는 이는 약자를 사용한 것입니다. 전체 이름을 적을 수 있습니다: org.apache.struts2.spring.StrutsSpringObjectFactory. 이 약자의 'spring'은 bean 설정의 name 속성과 일치합니다. 기본적으로 프레임워크가 생성한 모든 객체는 ObjectFactory 인스턴스에 의해 인스턴시화됩니다. ObjectFactory는 Spring, Pico 등 다른 IoC 컨테이너와 통합하는 방법을 제공합니다. 이 ObjectFactory를 대체하는 클래스는 ObjectFactory 클래스나 그 서브클래스를 继承해야하며, 파라미터가 없는 생성자를 가져야 합니다. 여기서 우리는 org.apache.struts2.spring.StrutsSpringObjectFactory가 기본 ObjectFactory를 대체했습니다.
또한, 위에서 설명했듯이, action이 Spring ObjectFactory를 사용하지 않는 경우, 플러그인은 action을 자동으로 조립하기 위한 두 가지 인터셉터를 제공합니다. 기본적으로 프레임워크가 사용하는 자동 조립 전략은 name입니다.也就是说框架会去 Spring中寻找与action属性名字相同的bean,optional assembly strategies include: type、auto、constructor,we can set it through the constant struts.objectFactory.spring.autoWire.
이렇게 되면, Action에서 Spring IOC에 의해 주입된 Bean을 사용할 수 있습니다. 사실 이는 webwork에서 이미 있던 확장 패키지의 기능입니다.呵呵。strut으로 바꾸면2.0에 대해 말씀드리겠습니다.
위 설정 파일을 통해 Spring2.0와 struts2.0가 모두 결합되었습니다.