标签: struts

将Java对象从一个Struts操作传递到另一个

在我的一个Struts动作中,我在一个方法中得到了以下代码:

  ...
  List<Object> retrievedListOfObjects = c.getListOfObjects();
  return mapping.findForward("view");
}
Run Code Online (Sandbox Code Playgroud)

fw_view导致一个新的Struts动作与另一个Struts表单.让我们说这个表格包括以下字段

List<Object> listOfObjects;
Run Code Online (Sandbox Code Playgroud)

我现在想要retrievedListOfObjects将第一个Struts操作中的from 传递给以下Struts操作的形式.

如果不将它存储在会话中,这可能吗?

java forms struts action struts-1

2
推荐指数
1
解决办法
4817
查看次数

Struts 2复选框:当fieldValue只能为true或false时,value属性的用途是什么?

  • 为什么我们需要一个value属性以及tag中的fieldValue属性s:checkbox,不像s:textfield只有value属性?

  • s:checkbox标签的fieldValue属性是否允许" true "或" false " 以外的字符串?在Struts2 in Action(Manning)中,它描述了fieldValue属性

复选框将提交的实际值.也许是真是假

也就是说,如果我使用

<s:checkbox name="wantMoreChocolates" fieldValue="true"/>

那么wantMoreChocolate只能是java类中的布尔类型.在这种情况下,为什么文档将fieldValue的类型指定为String而不是Boolean

  • 而且,关于价值属性,它说

与其他UI组件一样,value属性指向组件绑定到的实际Java端属性,在本例中为布尔值.

如果通过" value "我们指定组件绑定到的实际属性,那么name属性的作用是什么.因为name属性必须指向一个布尔值,为什么它必须使用value属性将它绑定到另一个布尔值?

  • 为什么不能仅根据与name属性对应的属性进行预填充

java checkbox struts struts2

2
推荐指数
1
解决办法
2万
查看次数

Struts - 为一个表单使用多个提交按钮?(如何知道点击了哪个)

我有3个按钮用于我想提交的表单.我是struts的新手,我想知道,有没有办法找到点击了哪个按钮?在我的HTML中我有这个

<html:form action="myAction.jspa">
    <div align="right">
        <html:submit value="back" />
        <html:submit value="continue Later" />
        <html:submit value="submit"  />
    </div>
</html:form>
Run Code Online (Sandbox Code Playgroud)

在我Actionexecute()方法Java 类中,我尝试使用request.getParameter("back")检查后退按钮是否已被按下但它不起作用.如何在struts中处理多个提交按钮?

在此先感谢您的帮助:)

java struts

2
推荐指数
1
解决办法
6097
查看次数

处理java.lang.NoSuchMethodError的建议

这是我得到的错误:

java.lang.NoSuchMethodError: com.Order.getList(Lepo/User;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/ArrayList;
Run Code Online (Sandbox Code Playgroud)

在反编译类之后,我发现应该有一个"Ljava/lang/String"作为第一个参数.正如你可以看到缺少参数的错误.所以我反编译了调用方法的类,它有一个字符串作为第一个参数.

这是我对这里发生的事情感到困惑的地方.根据时间戳,最后一次修改此代码是2007年.这个错误出现在大约一周前.

这是在JBoss 4.0.0DR3上运行的struts应用程序.据我所知,服务器上没有软件升级.

我也尝试停止JBoss,删除所有临时目录并重新启动.

有没有人对下一步采取任何建议?

编辑:

这里有更多的堆栈跟踪

java.lang.NoSuchMethodError: com.Order.getList(Lepo/User;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/ArrayList;
    at com.ViewStatusAction.retrieveList(ViewStatusAction.java:325)
    at com.ViewStatusAction.executeAction(ViewStatusAction.java:115)
    at com.BaseAction.execute(BaseAction.java:42)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
Run Code Online (Sandbox Code Playgroud)

java jboss struts exception nosuchmethoderror

2
推荐指数
1
解决办法
2万
查看次数

struts 1.0逻辑标记选择-if / else逻辑

我有一个下拉列表。当用户选择某个选项时,其中每个选项代表Java服务器端的特定String。

现在,Java服务器端能够检查选择了哪个选项以及对应的数字。目前,我可以在Java后端而不是JSP页面上输出值。

Struts 1.0是否有if / else标记?

我不确定哪个逻辑标记最适合传递Java值进行前端处理:

JSP页面

if(value = 666)
   this textbox is readonly
else
  this textbox row is active
Run Code Online (Sandbox Code Playgroud)

到目前为止,我的研究:

看一下logic:equal,似乎使用如下所示的taglib在JSP页面上传递值。这对我不起作用,因为我想服务器端的Java类传递值。

<logic:equal name="name" property="name" value="<%= theNumber %>" >
Run Code Online (Sandbox Code Playgroud)

java jsp struts

2
推荐指数
1
解决办法
2万
查看次数

Struts 1从操作重定向到参数作为POST请求的操作

现在我尝试使用我的Struts 1.3 Web应用程序中的一些参数从动作类重定向到动作类,这是我的代码

ActionRedirect redirect = new ActionRedirect(mapping.findForward(forwardPage));
redirect.addParameter("method", forwardPage);   
redirect.addParameter("username", "user");
redirect.addParameter("password", "PWD");
redirect.addParameter("forwardPage", "success");        
return redirect;
Run Code Online (Sandbox Code Playgroud)

它工作正常,但所有参数都显示在地址栏中,如何将其重定向为POST请求参数(隐藏参数)

java post struts

2
推荐指数
1
解决办法
1万
查看次数

使用javascript将所选项目移动到多个选择的顶部

我希望在表单提交之前或之后使用JavaScript或jQuery将所选项目移动到多个选择的顶部.

例如,这个:

<select multiple="multiple" name="users" id="users">
    <option value="1" selected="selected">aaa</option>
    <option value="2">bbb</option>
    <option value="3" selected="selected">ccc</option>
    <option value="4">ddd</option>
    <option value="5">eee</option>
    <option value="6" selected="selected">fff</option>
</select>
Run Code Online (Sandbox Code Playgroud)

预期结果:

<select multiple="multiple" name="users" id="users">
    <option value="1" selected="selected">aaa</option>
    <option value="3" selected="selected">ccc</option>
    <option value="6" selected="selected">fff</option>
    <option value="2">bbb</option>
    <option value="4">ddd</option>
    <option value="5">eee</option
</select>
Run Code Online (Sandbox Code Playgroud)

最初我正在完成排序.但我需要先显示选定选项.我已经使用了Struts标签进行SELECT,如下所示

<s:select name="users" id="users" headerKey="-1" headerValue="ALL" value="%{#request.users}"  cssClass="form-inline form-inline-big-dropdown" list="templistMap" multiple="true" />
Run Code Online (Sandbox Code Playgroud)

javascript jquery jsp struts

2
推荐指数
1
解决办法
2811
查看次数

在 Java Struts 应用程序中放置以及如何调用本地 XSD 文件?

我正在编写一个 Java Struts 应用程序,它根据本地存储的 XSD 文件验证传入的 XML 文件。我遇到了两个问题:

  1. XSD 文件需要存储在本地,即不能通过http 调用。我应该在 Struts 应用程序中的哪个位置存储 XSD 文件?例如,它应该进入 WEB-INF 吗?我需要把它放在我的 src 包之一中吗?我已经看到了很多关于本地存储的 XSD,但没有任何特定于 Struts 的内容。

  2. 存储后,如何从 Java 代码引用此 XSD 文件?我不知道如何告诉我的程序在哪里可以找到文件。

换句话说,这就是我所拥有的:

SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); 
Schema schema = schemaFactory.newSchema(new File("/path/to/schema.xsd"));
Run Code Online (Sandbox Code Playgroud)

我不知道/path/to/schema.xsd应该是什么样子。

我在这个论坛上看过类似的问题,但还是有点迷茫。我将不胜感激社区可以提供的任何帮助。

提前致谢!

java xml xsd struts

2
推荐指数
2
解决办法
5924
查看次数

下载时空白PDF

我正面临一个非常奇怪的问题,我试图使用下面的代码从我的struts应用程序发送PDF文件作为附件,

        JasperReport jrReport = (JasperReport) JRLoader.loadObject(jasperReport);
        JasperPrint jasperPrint = JasperFillManager.fillReport(jrReport, parameters, dataSource);
        jasperPrint.setName(fileNameTobeGivenToExportedReport);
        response.reset();
        response.setContentType("application/pdf");
        response.setHeader("Content-Disposition", "attachment; filename=\"" + fileNameTobeGivenToExportedReport + ".pdf" + "\"");
        response.setHeader("Cache-Control", "private");
        JasperExportManager.exportReportToPdfStream(jasperPrint, response.getOutputStream());
Run Code Online (Sandbox Code Playgroud)

但正在下载的PDF没有数据,意味着它显示空白页面.

在上面的代码中,我添加了以下行以将PDF文件保存在我的D:目录中

File pdf = new File("D:\\sample22.pdf");
JasperExportManager.exportReportToPdfStream(jasperPrint, new FileOutputStream(pdf));
Run Code Online (Sandbox Code Playgroud)

生成的文件是正确的,意味着所有数据.有一点我注意到从浏览器下载的文件和"sample22.pdf"具有相同的大小.

我读了一篇文章说它可能是服务器配置的问题,因为我们的服务器可能会破坏输出流.这是我从Servlet创建PDF的文章.

这篇文章说

当服务器将所有字节的值大于127时,可能会发生这种情况.请参阅Web(或应用程序)服务器手册,了解如何确保将二进制数据正确发送到浏览器.

我正在使用struts 1.x,jBoss6,iReport 1.2

java pdf struts servlets jasper-reports

2
推荐指数
1
解决办法
2759
查看次数

Struts 2.3.28.1 到 2.5 迁移------支持 Struts 2.5 中的 jars

我正在将我的项目从 Struts 2.3.28.1 迁移到 2.5,但在 Struts 2.5 包中找不到以下 3 个 jar 文件,这些文件存在于 Struts 2.3.28.1 包版本中。谁能告诉我 Struts 2.5 是否仍然支持这 3 个 jar如果没有,那么任何可能的解决方案----xwork-core-2.3.28.1、oro-2.0.8、commons-validator-1.3.1。

struts

2
推荐指数
1
解决办法
2769
查看次数