读书人

struts:JSP获取服务器传过来的数据,该

发布时间: 2013-06-25 23:45:41 作者: rapoo

struts:JSP获取服务器传过来的数据
本人小菜,想请教一个问题,我在action中有一个username字段,并在execute中设置了值,也设置了相应的get/set方法,百度谷歌了很多,都说在JSP页面中直接使用<s:property value="username"/>就可以取得值了,或者是Servlet的API把值放在作用域中就可以取得值了。

但是我这两种方式都试过了,都不行,取不出来。EL表达式也不好使。

代码:

package com.ccniit.action;

import com.opensymphony.xwork2.ActionSupport;

public class TestAction extends ActionSupport {

private String username;

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

@Override
public String execute() throws Exception {
username = "zhangsan";
return SUCCESS;
}
}



<struts>

<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />

<package name="default" namespace="/" extends="struts-default">
<action name="up" class="com.ccniit.action.TestAction">
<result name="success">/index.jsp</result>
</action>
</package>
</struts>


<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="up" method="post">
<s:property value="username"/>
</form>
</body>
</html>

[解决办法]
引用:
没人么,真心这个问题是很简单的所以都没人来回答么。。



我想请问你是怎么访问的
http://localhost:8080/项目名/up 是这样访问的吗
[解决办法]
引用:
没人么,真心这个问题是很简单的所以都没人来回答么。。



或者
//index.jsp 这样写
<form action="up" method="post">
<s:property value="username"/>
<input type="submit" value="提交"/>
</form>
[解决办法]
你这个jsp有问题
你写的form提交后跳转 但是你根本没提交
所以完全没有跳转 所以也没调用到后面的action
这样是取不到值的
[解决办法]
引用:
Quote: 引用:


是否要form表单提交来得到后台的数据完全是根据自己的需求所决定的,
虽然我的问题解决了,但是我想问问,如果不通过表单提交来得到后台的数据,也不用JS,ajax等技术的话,怎么获取后台的数据?


你好好想想你问这个是不是矛盾的,不想请求后台,又想从后台拿到数据?你当计算机是魔术师啊。

读书人网 >J2EE开发

热点推荐