Я создал форму login.jsp и когда пользователь вводит имя пользователя & пароль, тогда я хочу создать URL-адрес: /companyName/username
.Как создать динамический url в struts2?
Пример: Если название компании «ABC» и имя пользователя является «parth1», то есть URL "http://localhost:8080/Temp_Central_Emp/abc/parth1/afterLogin.jsp"
Я получаю companyName
из базы данных на основе имени пользователя.
Файл: login.jsp
<s:form action="afterLogin" method="post">
<s:textfield label="Enter username" key="userId" maxlength="5" size="30" id="userId"/>
<s:password label="Enter password" key="userPsw" size="30" />
<tr>
<td></td>
<td>
<img src="<c:url value='simple-captcha.png' />" />
<br />
<p>Press F5 for refresh.</p>
</td>
</tr>
<s:textfield label="Enter code" key="captchaResponse" size="30" />
<s:submit value="Login" />
</s:form>
Файл: struts.xml
<struts>
<constant name="struts.enable.SlashesInActionNames" value="true"/>
<constant name="struts.mapper.alwaysSelectFullNamespace" value="false"/>
<constant name="struts.devMode" value="true" />
<package name="a" extends="struts-default">
<action name="afterLogin" class="com.parth.LoginAction">
<result name="success">/afterLogin.jsp</result>
</action>
</package>
Файл: LoginAction.java
public class LoginAction extends ActionSupport{
private Map<String, Object> session;
private String userId;
private String userPsw;
private String url;
private static final long serialVersionUID = 1L;
@Override
@Action(value="{url}/afterLogin")
public String execute() throws Exception {
// business logic to insert user into database
url = "/companyName/" + userId;
return SUCCESS;
}
/* Getters and Setters */
}
Я использую эту ссылку, но мне нужно другое. Creating dynamic URL with 2 action parameters in Struts 2 using OGNL
Я также пробую код из этой ссылки, но все же я не решаю его.
проверить это http://stackoverflow.com/questions/23780282/how-to-create-custom-urls-with-struts2like-www-twitter-com-goodyzain – goodyzain
@goodyzain, когда я add ** ** i получить ошибку. И я также изменил свой код на основе ответа на ваш вопрос, но не работал. Если вы знаете, как создать динамический URL-адрес, пожалуйста, предоставьте мне код, основанный на вышеуказанном вопросе. –
Какая ошибка вы получаете при добавлении Advanced wildCard <константа name = "struts.patternMatcher" value = "regex" /> ?? – goodyzain