请教关于Request转发后链接失效的问题

一个最“土”的MVC可能是这样:
list.jsp 提交请求到servlet中,servlet处理业务(例如分页,得到下一页所需数据,将数据放入request的attribute),处理完后再用 RequestDispatcher.forward() 转发回list.jsp。但是 list.jsp中的一些资源链接(比如CSS,JS和所有组件链接)都是错误的,这个怎么解决?

如果用request.sendRedirect() ,那么又无法利用 request.setAttribute()了,只能把一些数据存入session,取出后立刻清空。再有sendRedirect的效率也没有forward好。

而如果这样写,感觉又很怪
<link href='<%=request.getContextPath()%>/css/ts.css' type='text/css'
rel='StyleSheet'>

在struts中,使用<html:base/>多少也是因为上面的问题吧?
但是如果使用了base标签。开发时页面上的链接就是又是错误的了。

请问大家平时都是怎么解决的?特别是一些开源框架是如何解决的?
我在Spring源码里看到的有些地方也是是处理完后用sendRedirect,感觉很别扭。


抱歉上面那个帖子有段话没写好:
--------------------------------
而如果这样写,感觉又很怪
<link href='<%=request.getContextPath()%>/css/ts.css' type='text/css' rel='StyleSheet'>
--------------------------------

而如果这样写,感觉又很怪


<link href='<%=request.getContextPath()%>/css/ts.css' type='text/css' rel='StyleSheet'>