Struts1 生成Action请求的几种方式分析

1  直接硬编码

<a href="/Lesson14_Struts1_Demo1//user/regUserDo.do">注册</a><br/>

项目名,请求后缀,都是固定死的

2  使用EL表达式

<a href="${pageContext.request.contextPath}/user/regUserDo.do">注册</a><br/>

项目名称实现了动态获取,但是请求后缀还是固定

3  使用Strtus1的html标签

<%@ taglib prefix="html" uri="http://struts.apache.org/tags-html" %>
<html:link action="/user/regUserDo">注册</html:link><br/>

同时html:link标签还能够附加参数并且对其进行URL编码

<%
            Map<String,String> parMap = new HashMap<>();
            parMap.put("x","1");
            parMap.put("y","2");
            parMap.put("z","3");
            request.setAttribute("parMap",parMap);
            Date now = new Date();
            request.setAttribute("now",now);
            request.setAttribute("name","张三李四咯");
        %>
        <%--参数名为username,从web作用域中查找名为name的值--%>
        <html:link action="/regUser" paramId="username" paramName="name">注册 - 对参数URL编码</html:link><br/>
        <html:link action="/regUser" paramId="t" paramName="now" paramProperty="time">对象的某个属性作为参数</html:link><br/>
        <html:link action="/regUser" name="parMap">Web作用域中的Map作为参数集合</html:link><br/>
        如果需要设置的请求参数是某个对象的Map类型成员变量,则可以使用 name+property两个属性进行设置 对于生成的请求地址,会自动添加项目名与请求后缀
        例如:<html:link action="/regUser">注册</html:link>
原文地址:https://www.cnblogs.com/sherrykid/p/4606053.html