1
是否有可能訪問struts.xml文件中的java內部類?例如,我有以下Java類與嵌套類:訪問struts.xml中的java內部類
public class FooServiceAction {
FooServiceImpl service = new FooServiceImpl();
public class ProductAction extends ActionSupport {
private ProductImpl product = new ProductImpl();
public ProductAction() {
}
public ProductAction(ProductImpl product) {
this.product = product;
}
public ProductImpl getProduct() {
return product;
}
public void setProduct(ProductImpl product) {
this.product = product;
}
public String productSetting() {
return SUCCESS;
}
@Override
public void validate() {
if (this.getProduct().getName() == null
|| this.getUser().getName().equals("")) {
addFieldError("name", "Product name is mandatory.");
} else {
service.createProduct(product);
}
}
}
我需要在struts.xml文件中訪問嵌套的ProductAction類。
<action name="createProduct" class="foo.action.FooServiceAction.ProductAction" method="productSetting">
<result name="success">/launchapp.jsp</result>
<result name="input">/createUser.jsp</result>
</action>
每當我試圖用jetty啓動這個項目時,會拋出一個異常,因爲struts.xml找不到嵌套的java類。
[錯誤]未能執行目標org.mortbay.jetty:Maven的碼頭 - 插件:6.0.1:運行(d EFAULT-CLI)FOO項目-網站:失敗:StrutsException:無法加載配置 配給。 Action class [foo.action.FooServiceAction.ProductAction] not found - > [Help 1]
如何讓嵌套的java類對struts.xml文件可見?
很多感謝
待辦事項不是嵌套行動類。這真的很糟糕。使用'extend'來整合功能並減少冗餘(DRY) –
謝謝您的回答Andrea。有沒有解釋爲什麼嵌套不是Action類的好習慣? –
我可以問你,你見過哪些嵌套動作?任何官方文檔,在線教程,什麼?爲了成功的生活,不要創建怪物:) –