为了测试上面的示例,我们需要先定义一个UserService类,该类包含一个getUserList方法,用于获取用户列表:
代码语言:javascript复制@Service
public class UserService {
public List<User> getUserList(int pageNum, int pageSize) {
List<User> userList = new ArrayList<>();
for (int i = (pageNum - 1) * pageSize 1; i <= pageNum * pageSize; i ) {
User user = new User();
user.setId(i);
user.setUsername("user" i);
user.setAge(20 i % 10);
userList.add(user);
}
return userList;
}
}
在上面的示例中,我们定义了一个getUserList方法,该方法接收两个参数:pageNum和pageSize。根据pageNum和pageSize参数,该方法生成一些模拟的用户数据,并返回一个包含用户列表的List对象。
最后,我们需要在web.xml中配置SpringMVC的DispatcherServlet,并指定扫描的包路径和视图解析器:
代码语言:javascript复制<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
在上面的示例中,我们使用了名为spring的DispatcherServlet,并指定了配置文件路径为classpath:spring-mvc.xml。我们还将DispatcherServlet的url-pattern设置为/,表示该Servlet将处理所有的请求。
最后,我们需要在spring-mvc.xml配置文件中定义组件扫描和视图解析器:
代码语言:javascript复制<context:component-scan base-package="com.example.controller" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>
在上面的示例中,我们使用了context:component-scan元素扫描com.example.controller包中的所有组件,并自动注册为Spring bean。
我们还定义了一个InternalResourceViewResolver视图解析器,用于解析JSP视图。在该解析器中,我们指定了JSP文件的前缀为/WEB-INF/views/,后缀为.jsp。这意味着,当我们在Controller中返回视图名称为user/list时,SpringMVC将解析为/WEB-INF/views/user/list.jsp。
现在我们可以启动应用程序并访问http://localhost:8080/user/list?page=1&size=10来测试示例了。在页面上,我们将看到包含10个用户的列表。