解决方案 »
- 请教个通过weblogic数据源访问数据库的问题
- 深入理解Java虚拟机
- webservice,XFire,这个问题怎么解决?
- 请高手推荐一本struts的学习书籍和一本案例比较全的J2EE书籍..谢谢
- jdbc插入oracle数据库clob类型的字段中文乱码
- 求助关于HIBERNATE删除(缓存)的问题
- struts validator的问题
- tomcat4带40个客户机以后就经常出问题,怎么解决?高手指点!
- 如何用EJB的SessionBean直接连接数据库?请高手指点。
- 一个关于java内存可见性的问题
- 关于对指定的字段内容修改,求助各位
- 怎么解决struts2在谷歌浏览器下载文件不成功的问题。(收到来自服务器的重复标头)
我访问的url为:http://localhost:8080/项目名称/test/hello.action
web.xml:
<servlet>
<servlet-name>mvc</servlet-name>
<servlet-class>org.apache.commons.mvc.web.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/classes/context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc</servlet-name>
<url-pattern>*.php</url-pattern>
</servlet-mapping>
context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<!-- 配置action所在的位置, 多个包用逗号隔开 -->
<action package="com.number.control.action"/> <!-- 配置ajax所在的位置(ajax的目的是要把java和javascript合为一体), 多个包用逗号隔开 -->
<ajax package="com.number.control.ajax"/>
</beans>action的代码:package com.number.control.action;import org.apache.commons.mvc.annotation.ActionBean;
import org.apache.commons.mvc.entity.Forward;
import org.apache.commons.mvc.web.BaseAction;
import org.apache.log4j.Logger;
import com.number.entity.Wordage;
import com.number.model.WordageModel;/**
* 汉字的action
* @version 1.0
*/
@ActionBean(name = "/wordage") // 这个地址可以在浏览器访问
public class WordageAction extends BaseAction { private static final Logger log = Logger.getLogger(WordageAction.class);
private WordageModel model = new WordageModel();
private Wordage bean; /**
* 分页列表(这个方法的url:http://你的IP:你的端口/你的工程名称/wordage/list.你配置的后缀)
* @return
*/
public Forward list() {
pager = model.pager(bean, pageNo, pageSize);
log.info(pager);
//return null;// 返回null或"",action不做任何转发动作
return Forward.create("/index.jsp");// 将要转发的url
} /**
* 这个实体会自动保存在request作用域中
* @return
*/
public Wordage getBean() {
return bean;
} /**
* 页面提交时,自动封装数据到实体中
* @param bean
*/
public void setBean(Wordage bean) {
this.bean = bean;
}}ajax的代码:package com.number.control.ajax;import java.util.List;
import org.apache.commons.mvc.annotation.AjaxBean;
import org.apache.commons.mvc.annotation.AjaxMethod;
import org.apache.commons.mvc.entity.Pager;
import org.apache.commons.mvc.web.BaseAjax;
import org.apache.log4j.Logger;
import com.number.entity.Wordage;
import com.number.model.WordageModel;/**
* 汉字的ajax
* @version 1.0
*/
@AjaxBean(name = "wordageAjax") // 这个名称可以在页面生成javascript对象
public class WordageAjax extends BaseAjax { private static final Logger log = Logger.getLogger(WordageAjax.class);
private WordageModel model = new WordageModel(); /**
* 无刷新分页列表, 在页面引入两个js文件即可使用:
* <script type="text/javascript" src="/你的工程名称/org/apache/commons/mvc/res/js/public.js.你配置的后缀"></script>
* <script type="text/javascript" src="/你的工程名称/commons/mvc/ajax/wordageAjax.js.你配置的后缀"></script>
* 页面就这样写:wordageAjax.list("{charm:''}", 1, 20, function(result) {alert(result.list.length);});
* @param bean
* @param pageNo
* @param pageSize
* @return
*/
@AjaxMethod // 加上这个注解,页面的js可以直接调用这个方法,让js和java合为一体
public Pager<Wordage> list(Wordage bean, Integer pageNo, Integer pageSize) {
Pager<Wordage> pager = model.pager(bean, pageNo, pageSize);
log.info(pager);
return pager;
}
/**
* 所有声母
* @return
*/
@AjaxMethod
public List<String> getAllCoice() {
return model.getAllCoice();
}
/**
* 所有韵母
* @return
*/
@AjaxMethod
public List<String> getAllCharm() {
return model.getAllCharm();
}}
所有注释和异常信息都是中文的,符合国人的编程习惯,并且保证你不会出现404,
我们现在都用这个,struts只能放在尘封的记忆中了。
namespace [/system] 说明你的路径输入错误了 应该是 http://localhost:8080/项目名称/test/hello.action 你的namespace应该是/test