2009-12-08 7 views

ответ

2

Вы можете использовать REST Plugin или convention plugin (см. this blog post для получения более подробной информации о более позднем решении). Другие варианты включают сервлет-фильтрацию или mod_rewrite.

0

Мы можем добиться этого, используя стойки2. Все, что вам нужно сделать, это использовать подстановочные знаки в имени вашего действия. Позвольте мне объяснить ваш случай

http://localhost/users/Santhosh 

Это то, что вы хотели в качестве конечного URL. И вы хотели бы получить значение i.e .; «Santhosh» в поддержке действий.

Я предполагаю, что вы готовы добавить суффикс struts2 в конце i.e .; «.action» или «.html» (я настроил расширение своих классов действий как .html).

Просто определить отображение, как показано ниже в struts.xml файле

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE struts PUBLIC 
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
    "http://struts.apache.org/dtds/struts-2.0.dtd"> 
<struts> 
    <constant name="struts.devMode" value="false" /> 
    <constant name="struts.action.extension" value="html" /> 
    <constant name="struts.enable.SlashesInActionNames" value="true"/> 

    <action name="users/*" class="com.srm.action.UserAction" method="execute"> 
    <param name="userName">{1}</param> 
    <result name="success" type="tiles">addEditCategory</result> 
    </action> 
</struts> 

Если вы заметили выше отображения, «struts.enable.SlashesInActionNames» должно быть установлено «верно» для того, чтобы достичь этого.

Вот класс поддержки действий

public class UserAction extends ActionSupport 
{ 
    private static final long serialVersionUID = 1L; 
    private String userName = null; 

    public String execute() throws Exception 
    { 
    System.out.println("Username: "+userName); 
    return SUCCESS; 
    } 

    public void setUserName(String userName) 
    { 
    this.userName = userName; 
    } 

    public String getUserName() 
    { 
    return userName; 
    } 
} 

После выполнения этой программы, вы получите «Сантош» значение населенного в собственность имени пользователя.