Struts2中namespace的用法

2021-08-30 18:30:08 字數 1152 閱讀 6636

struts2中關於action的namespace在很多地方出現,如struts.xml、form標籤等等,有些莫名其妙的錯誤就是由於namespace設定錯誤造成的。如無法找到匹配的action,訪問不了result指定的頁面等等。

namespace的作用是定義訪問action的url,在不同的namespace中可以定義同名的action,不同的包可以共享同乙個namespace,可以通過namespace控制action的訪問。

[b]1. 標籤中如何指定namespace,是否必須指定namespace?[/b]

如果你訪問的jsp路徑與action的namespace重合,那麼並不需要指定namespace,struts2會首先自動尋找跟你jsp路徑相同的namespace,如果沒有會尋找預設namespace。

如果form標籤中沒有指定namespace,那麼會使用jsp路徑作為namespace,在struts.xml中尋找action。如果form標籤中指定了namespace,那麼直接使用指定的namespace查詢action。

例:訪問url="http://localhost:8080/struts2/mainweb/login.jsp",中"/mainweb"為web應用程式下的訪問路徑,如果在login.jsp中的form標籤中沒有指定namespace,那麼預設action的namespace為"/mainweb";如果login.jsp中設定了form標籤的namespace,那麼action的namespace則為"/mainweb"。

[b]2. 在struts.xml的標籤中如何指定namespace?[/b]

在中指定了namespace,不僅為action提供了namespace,也同時規定了result返回結果的路徑。在result中可以使用絕對路徑和相對路徑對返回結果進行配置,絕對路徑以"/"開頭,代表了web應用程式上下文的根目錄,相對路徑不以"/"開頭。絕對路徑不受action的namespace影響,而相對路徑則以action的namespace為根路徑。

[b]3. 舉例說明[/b]

預設狀態

指定狀態

Struts2中checkboxlist標籤的使用

selectedproducts name product.id list products listvalue name listkey id value 這裡分兩類,首先明確value的值應該是乙個list,用來顯示checkbox內那些需要先打勾 一類,當value的值是是乙個list bea...

Struts2字尾 深入Struts2

一 將action字尾變成html字尾 xmlversion 1.0 encoding utf 8 doctype struts public apache software foundation dtd struts configuration 2.1 en struts include file...

Struts2入門(一)Struts2簡介

本章簡要介紹一下struts2框架 1.概念 我們知道,springmvc框架是為了整合servlet設計的控制層框架,那麼還有其他的框架也實現了這個功能,那麼就是struts2。struts2是乙個基於mvc設計模式的web應用框架,它本質上相當於乙個servlet,在mvc設計模式中,strut...