1. 程式人生 > >Struts2自定義Action,自定義方法,DMI(動態方法呼叫),路徑問題

Struts2自定義Action,自定義方法,DMI(動態方法呼叫),路徑問題

注意配置檔案中的result JSP 必須加/(代表當前應用)

action類的編寫:可以什麼都不繼承與實現,可以實現Action介面,可以繼承ActionSupport,但推薦第三種

package struts.zyl;
import com.opensymphony.xwork2.ActionSupport;


public class IndexAction extends ActionSupport {
	public String add(){
		// TODO Auto-generated method stub
		return "success";
	}
}

可以使用

http://localhost/struts2_action/path/userAdd

http://localhost/struts2_action/path/user!add(DMI動態方法呼叫,預設是關閉的,需要新增一句程式碼)

<constant name="struts.enable.DynamicMethodInvocation" value="true" />

訪問add.jsp

struts路徑問題:

當在客戶端輸入http://localhost/struts2_action/path/index的時候,路徑是根據struts2中的action路徑而不是jsp的本地路徑.

當用戶想要從這個index.action中跳轉回/index.jsp的時候..

通常會這樣寫

<a href="index.jsp">點我</a>

雖然就算這個jsp檔案和index.jsp同一個目錄,這樣只會訪問到本路徑下的http://localhost/struts2_action/path/index.jsp

不能使用相對路徑,

那麼我們這樣寫呢?

<a href="/index.jsp">點我</a>

這樣更不行,這樣就返回到了http://localhost/index.jsp去了,連webapp都沒有進入

我們只好這樣寫

<a href="/struts_action/index.jsp">點我</a>

這樣倒是可以了,但是每次都要加上自己的專案名稱未免太過麻煩

還好myeclipse幫我們自動解決了這個問題

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
我們可以這樣寫
<a href="<%=basePath%>index.jsp">點我</a>

但是有更方便的:

 <base href="<%=basePath%>">

這樣我們每次跳轉到index.jsp都是絕對路徑了。

相關推薦

Struts2定義Action定義方法,DMI(動態方法呼叫),路徑問題

注意配置檔案中的result JSP 必須加/(代表當前應用) action類的編寫:可以什麼都不繼承與實現,可以實現Action介面,可以繼承ActionSupport,但推薦第三種 package struts.zyl; import com.opensymphon

轉:Android 外部啟動activity定義actionaction常量大全

https://www.cnblogs.com/guop/p/5067342.html Android 外部啟動activity,自定義action,action常量大全 從任意app,啟動另外一個app的activity: 1.   Intent i =

Android 外部啟動activity定義actionaction常量大全

https://www.cnblogs.com/guop/p/5067342.html 從任意app,啟動另外一個app的activity: 1.   Intent i = new Intent();        &

android 百度地圖定義更改預設圖示等常用方法

總結了一下百度地圖常用的方法(前提是整合百度地圖環境成功): 1:定位到已經經緯度,只需要改變LatLng的引數即可。有兩種方法: 方法1: //定義Maker座標點 LatLng point = new LatLng(39.96317

django 的模板語言template 定義過濾器定義標簽模板繼承

test block src view -- back def 其他 init 後端views文件傳來的字符串和對象,到前端頁面後需要進行渲染, {{ 變量 }}{{ 變量| filter:參數 }}filter可以有很多函數 {#對後端傳來的數據進行渲染,add 就是過濾

非常實用的定義佈局定義顯示時長的頂部toast

最近在工作中需要彈出頂部toast且顯示時間不固定。從而寫了下面的一個模擬toast的動畫: 先看動畫: public void isShowToast(final boolean isShow,View mToastV) { final int marinTop = 0;//距離頂

百度地圖精準定位定義marker定義資訊彈出視窗。

        先說下業務場景,在資料庫查出相應的專案展示出來,然後點選專案在百度地圖上標註專案的地址,同時彈出視窗顯示相關的資訊。下面就來看看具體的實現:  1.引入百度地圖相關的API,我這裡選的是web的JavaScript API。後端的

flutter 定義TextField帶刪除

很簡單,沒什麼好說的,直接上效果圖: 自定義類: import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; ///自帶刪除的ITextField typedef

zabbix定義監控定義圖表。

zabbix server:hostname=Zabbix server ip:192.168.100.7   zabbix agent: hostname=host3 ip:192.168.100.3   目前狀態如下,使用的全是zabbix自帶的監控外掛,在某些情況下,我

C# 定義控制元件定義屬性定義事件

using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Li

定義PHP整合環境支援定義PHP定義Mysql無限新增任何版本

唯一能強行脫離依賴,在系統缺失必備元件或DLL受損的情況下依然能正常執行 優點http://blog.csdn.net/lccee/article/details/77619819      缺點,需要安裝net4.5 強大站點使用工具:http://blo

Android 高手進階之定義View定義屬性(帶進度的圓形進度條)

很多的時候,系統自帶的View滿足不了我們功能的需求,那麼我們就需要自己來自定義一個能滿足我們需求的View,自定義View我們需要先繼承View,新增類的構造方法,重寫父類View的一些方法,例如onDraw,為了我們自定義的View在一個專案中能夠重用,有時候我們需要自定

Struts2中一個action調用多個方法以及動態方法的調用

man style dmi itl public 頁面 Coding gpo 調用 一個action調用多個方法:通過實現ActionSupport action方法 public class FirstAction extends ActionSupport {

JS( +號操作符)、加一減一 ( ++和- -)、(比較操作符)、邏輯與操作符

JS( +號操作符):操作符是用於在JavaScript中指定一定動作的符號。(1)操作符看下面這段JavaScript程式碼。sum = numa + numb;其中的"="和"+"都是操作符。JavaScript中還有很多這樣的操作符,例如,算術操作符(+、-、*、/等)

Struts2.5的DMI(動態方法呼叫)與新增的SMI

在使用Struts2.5之後的版本,在DMI(動態方法呼叫)上,有與之前的版本發生一些改變 在DMI使用時,是預設被禁用的,導致萬用字元 * 無法正常使用 Apache Struts專案的官方解釋如下: 從Struts2.3開始,我們增加了一個開關來控制DMI,我們這樣

Struts2DMI(動態方法呼叫)的一些問題

    <package name="front" namespace="/front" extends="struts-default">         <default-action-ref name="index" />         &l

升級Struts2.5後使用DMI動態方法呼叫遇到問題

問題: 升級Struts2.5後使用DMI動態方法呼叫報錯,method 找不到。 原始碼: struts.xml <action name="json_*_*" class="{1}Action" method="

iOS靜態方法動態方法

問題提出問題分析相關程式碼 1、問題提出      iOS中有靜態方法與動態方法,那麼兩種方法的異同是什麼? 2、問題分析      因為每個物件都由相應的資料結構與方法相構成,一個

DMI動態方法呼叫 和 萬用字元

動態方法呼叫DMI <action name="user" class="com.action.UserAction">          <result>/user_add_success.jsp</result> </ac

XAF 框架中定義參數動作(Action輸入參數的控件可定義用於選擇組織及項目

示例 app frame tro href express documents 定義 ron XAF 框架中,如何生成一個自定義參數動作(Action),輸入參數的控件可定義? 參考文檔:https://documentation.devexpress.com/eXpres