问一个关于struts传值的问题

我在jsp页面中写了这么一条语句,forward/html:link,对应的action为indexAction,在这个action中用request.getParameter("p") 来获取jsp页面发送过来的p请求变量,但是得到的值始终是null,不知道什么原因,请问各位大侠,怎样才能获取到获取到变量值?或者是还要配置struts的xml文件吗?比如在中加入parameter="p",可是这样也无济于事.我初学struts,感激各位能解释一下,非常谢谢!!
[b]问题补充:[/b]
qichunren:
谢谢!跟name没关的,我是测试到没法取到p的值后才采取了建立一个名字是map的Map容器来存放参数和值再发送,结果也接收不到。这是后来才加上去的。
[b]问题补充:[/b]
回复 yingjinsheng :
谢谢你。这样改的话路径就有问题了。
[b]问题补充:[/b]
forward/html:link

采用这种方式如果p的值是中文的话在action中获取到的是中文乱码,而我从页面的文本框获取到的中文不是乱码,有点奇怪,请问各位大侠这个问题怎么解决?我把charset改成了GBK也是一样,非常感谢各位高手的关注!!
[b]问题补充:[/b]

to ham :
没问题的,我检查过了,谢谢关注,呵呵...

[quote]


修改/html:link
paramId="id" paramName="list" paramProperty="id">修改/html:link[/quote]
这里排版的时候不小心删除了一个"?".
是这样的
[quote]

[color=olive]
修改/html:link
paramId="id" paramName="list" paramProperty="id">修改/html:link[/color]

[/quote]

你改成forward估计就可以了,其他的没写错吗?xml文件要配置一下那个 *.do

[code="java"]forward/html:link[/code]

改成

[code="java"]forward/html:link[/code]

[code="html"]forward/html:link[/code]

怎么感觉do后面的?号怪怪的啊?你把name去掉看看.

  1. forward/html:link

[quote]forward/html:link

采用这种方式如果p的值是中文的话在action中获取到的是中文乱码,而我从页面的文本框获取到的中文不是乱码,有点奇怪,请问各位大侠这个问题怎么解决?我把charset改成了GBK也是一样. [/quote]

你可以配置过滤器.或者在indexAction中把编码转换
[color=olive]String p=request.getParameter("p");

     p= new String(p .getBytes("iso8859-1"),"UTF-8");[/color]

经过测试用
forward/html:link
forward/html:link

这两种方法都可以进行参数传递.

[quote] forward/html:link
forward/html:link [/quote]
写错了,是
[quote]
forward/html:link
forward/html:link

[/quote]

如果想通过method来判断在什么方法中传递参数,你的indexAction必须继承DispatchAction.如你想修改的时候传一个id给它.
你就可以这样做:

[quote]
修改/html:link

paramId="id" paramName="list" paramProperty="id">修改/html:link[/quote]
说明:这里的list是一个查询出来的列表.
希望这些能帮到你吧!

[quote]forward/html:link[/quote]
难道是输入法的半角和全角的问题?
楼主这个地方的问号不会有问题吧....

是问号的问题!不应该用中文输入法!