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>