Struts的基本问题(刚学Struts没几天的小妹)!

GreenCsdn 2003-12-11 05:51:06
小妹刚学Struts不久,原理差不多懂了,但是就是将原先的modal1模式的应用转换至MVC模式时,碰到了以下几个比较棘手,但是有很基本的问题,那位高手能帮忙给指点一下,越详细越好:
1、Struts中的application.properties文件使用什么工具来进行编辑才能正常显示汉字(朋友说使用native2ascii命令行工具,但是我的机器上好像没有设置相应的路径,运行不起来)。
2、session.getValue()方法在Struts中的对应代码怎样来书写?
3、原先的系统使用一个Java Bean(scope为session级),存放的是用户登陆后的各种系统信息(属性、方法),供系统其它页面调用。但在Struts中咋样来实现该功能。
...全文
58 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
programeyonger 2003-12-12
  • 打赏
  • 举报
回复
up!!!
loverface 2003-12-12
  • 打赏
  • 举报
回复
学习
GreenCsdn 2003-12-12
  • 打赏
  • 举报
回复
再声明一遍,好多人没有理解我的具体意思:
1、session操作我指的是前台jsp页面中的具体语法。

Leemaasn(他这家伙不怀好意 :P) :你说的“你可以在Action里读取Session里的Java Bean,然后做一下判断”,我不太理解,咋样来保证使用<jsp:usebean......>引用的Bean就是你在Action中创建的Java Bean实例。
jjj3000 2003-12-12
  • 打赏
  • 举报
回复
在action中这样写可以得到
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {

HttpSession session = request.getSession();
User user = (User) session.getAttribute("user");
Leemaasn 2003-12-12
  • 打赏
  • 举报
回复
对你说的Java Bean的补充:
一般,你从Jsp页面转入Action后,你可能会判断用户是否登录,这时,就会用到你说的Java Bean。。
你可以在Action里读取Session里的Java Bean,然后做一下判断。

如果,你需要在Jsp页面上显示你的Java Bean里的数据。
你可以使用:
<jsp:usebean id=.. type=Java Bean scope="session">

然后再用<bean:write >来显示你Java Bean里的数据。。。


可以这样使用,如果有什么不明的,可以再提出来。
junyi2003 2003-12-12
  • 打赏
  • 举报
回复
妹妹提我很久想提的问题。谢谢

主要是没分了。 :(
fishbob21 2003-12-12
  • 打赏
  • 举报
回复
学习学习。 up
zawx 2003-12-12
  • 打赏
  • 举报
回复
up
bobZ 2003-12-12
  • 打赏
  • 举报
回复
关注
kui 2003-12-12
  • 打赏
  • 举报
回复
开发Struts可用Struts开发工具JSPStudio
ftp://202.38.86.188/incoming/现在也可以下载JSPStudio
GreenCsdn 2003-12-12
  • 打赏
  • 举报
回复
kongxiangli(笑看红尘) :我说的session级的Java Bean不是指的ActionForm Bean。而是一个单独的,系统登陆之后存放当前用户姓名、密码、部门、登陆时间、分页显示最大记录数等公用信息的Java Bean(要在用户会话期间保持原有状态)。
springouting(丑小鸭) :我的session.getValue()方法意思是我在Action中设置了相关的session变量,前台表示页面(View)通过具体什么语句来显示该session变量。
软猫克鲁 2003-12-12
  • 打赏
  • 举报
回复
1。native2ascii是JAVA的工具,你如果安装了JAVA(不可能没有安装吧:))就可以找到的。
native2ascii GB2132 file1 file2
2。struts中用get,set方法实现数据的传递。
3。用户的登陆信息可以存放在session中,这点和别的差不多。你随时可取。
springouting 2003-12-12
  • 打赏
  • 举报
回复
如果想取session的话,和以前的一样,直接session.getAttribute("name")
zqx32 2003-12-11
  • 打赏
  • 举报
回复
1。native2ascii在jdk下的bin里有,你设置了环境变量就可直接在dos下编译
xqi8 2003-12-11
  • 打赏
  • 举报
回复
up
凋零的老树 2003-12-11
  • 打赏
  • 举报
回复
.3 ActionForm Beans
Struts框架通常假定你已经为每一个你的应用程序中请求的输入创建了一个 ActionForm bean(即一个实现了ActionForm 接口的类)。如果你在你的 ActionMapping 配置文件中定义了这样的beans(见“创建Controller组件”),Struts的controller servlet在调用适当的 Action 方法前将自动为你执行如下的服务:
用适当的关键字检查用户的session中是否有适当的类的bean的一个实例。

如果没有这样的session范围的bean,自动建立一个新的bean并添加到用户的session中。

对每个名字对应于bean中的一个属性的请求参数,调用相应的set方法。这个操作类似于当你以通配符“*”选择所有属性使用标准的JSP行为标记 <jsp:setProperty> 。

更新的ActionForm bean在被调用时将被传递给Acton类的perform()方法,以使这些值能够立即生效。

当你在写你的ActionForm beans时,记住以下的原则:

ActionForm 接口本身不需要特殊的实现方法。它是用来标识这些特定的beans在整个体系结构中的作用。典型情况下,一个ActionForm bean只包括属性的get方法和set方法,没有商业逻辑。

通常在一个ActionForm bean中只有很少的输入验证逻辑。这样的beans存在的主要理由是保存用户为相关的表单所输入的大部分近期值 -- 甚至在错误被检测到时 -- 这样同样的页面可以被重建,伴随有一组出错信息,这样用户仅仅需要纠正错误的字段。用户输入的验证应该在 Action 类中执行(如果是很简单的话),或者在适当的商业逻辑beans中执行。

为每个表单中出现的字段定义一个属性(用相关的getXxx()和setXxx()方法)。字段名和属性名必须按照JavaBeans的约定相匹配。例如,一个名为username 的输入字段将引起 setUsername() 方法被调用。

你应该注意一个“表单”在这里讨论时的意义并不必须对应于用户界面中的一个单独的JSP页面。在很多应用程序中一个“表单”(从用户的观点)延伸至多个页面也是很平常的。想想看,例如,通常在安装新的应用程序时使用的导航安装程序的用户界面。Struts鼓励你定义一个包含所有字段属性的单独的ActionForm bean。不管字段实际上是显示在哪个页面上。同样的,同一表单的不同的页面应该提交到相同的Action类。如果你遵照这个建议,在大多数情况下,页面设计者可以重新组织不同页面中的字段而不需要改变处理逻辑。
springouting 2003-12-11
  • 打赏
  • 举报
回复
我只知道一点,application.properties可以用记事本来编辑,另存所有文件就可以了。中文要转码。将保存为中文的Application.properties另存为“a.properties”(例如此处保存为d:\a.properties)文件,进入DOS,输入以下命令:native2ascii a.properties Application_zh.properties 进行转换,得到的文件Application_zh.properties就是编码转换后的RESOURCE文件,可以显示中文。
session一样可以用,只要实力化就可以了。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧