本人小菜,想请教一个问题,我在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>
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>
解决方案 »
- 统计某一个文件夹下面总共有多少个文件和文件夹
- 监听,拦截器,过滤器
- tomcat5.5 myeclipse8.6 jstl1.1 ssh框架 jsp页面上c:if可以用 而用c:forEach会出错
- 按规律生成字符串问题,在线等,有答案即结贴
- 关于JNA调用C++的问题数据结构。。
- 急!!tomcat配置了环境变量不能启动?
- eclipse和tomcat的问题
- A页弹出B页 B页做相应的设置,然后关闭,提交的action,A页重载或刷新去更新过的list,问题是B页关闭后有时不提交!!
- 方法的隐藏与方法的覆盖的概念?区别?
- struts的问题,谢谢各位
- 一个发表博文的功能,图片上传成功怎么插入到博文中?
- jsp页面中session.getAttribute("rightAll")找不到session文件
http://localhost:8080/项目名/up 是这样访问的吗
//index.jsp 这样写
<form action="up" method="post">
<s:property value="username"/>
<input type="submit" value="提交"/>
</form>
在你 username = "zhangsan";下面,加上这句 ActionContext.getContext().getValueStack().push(username);
//index.jsp 这样写
<form action="up" method="post">
<s:property value="username"/>
<input type="submit" value="提交"/>
</form>
点击提交确实能读取出来,但是如果我不点提交的话,怎么读取出来呢?现在我主要想做一个从数据库里面读取数据出来,然后把那些数据显示到JSP页面的一个功能。
改为
this.setUsername("zhangsan");
你写的form提交后跳转 但是你根本没提交
所以完全没有跳转 所以也没调用到后面的action
这样是取不到值的
<s:property value="username"/>
</form>改成
<form action="st2" method="post">
<input type="submit" value="提交"/>
</form>
<s:property value="name"/>
可以取到值