Struts 1.3 应用。主网站不是由 struts/Java 提供的。我需要将 struts 操作的结果转发到网站中的页面,即在 struts 上下文之外。目前,我转发到上下文中的 JSP 并使用元刷新转发到真实位置。这似乎有点糟糕。有没有更好的办法?
我使用的是Struts1.3,并且在这个Jsp页面中动态生成复选框取决于数据库中可用的数据。我的生成复选框的代码如下
<table width="850" border="0" align="left" cellpadding="2" cellspacing="0">
<tr>
<td width="100" align="center" bgcolor="#F3F3F3"><label>
<html:checkbox name="ExporterForm" value="<%=authlist.get(i).getAuthorityid()%>" property="exportauthority" styleId="checkbox99" />
</label></td>
<td align="center" class="text_exp" ><%=authlist.get(i).getAuthorityname()%></td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
我还有一个复选框( selectAll),查询是,我想在选择 selectAll CheckBox 时将其标记为全部选中。
我的代码用于选中下面给出的所有复选框,但它只选择一个,需要选择全部,请告诉我实现它的路径。
function selectAllAuthorites()
{
var selectAll=document.getElementById("checkbox101")
if(selectAll.checked==true)
{
document.getElementById("checkbox99").checked=true;
}
}
Run Code Online (Sandbox Code Playgroud) 当我向浏览器提交表单时,表单被提交了两次。访问日志显示有两个请求同时出现。两个不同的线程执行它。
问题是,第一个请求包含用户输入的属性值,而第二个请求调用只包含请求对象中的空值。
并非所有时间都会出现此问题。它只是偶尔发生,根本无法重现。在 IE8 和 IE9 中,我都遇到了这些问题。
有谁知道为什么会这样?
function validate(){
var username = document.getElementByProperty("userName").value;
var password = document.getElementByProperty("passWord").value;
if((username == null ||username =='') || (password == null||password=='')){
x=document.getElementById("error");
x.innerHTML = "Username or Password Cannot Be Blank";
else{
document.getElementById("loginform").submit();
}
<form id="loginform" action="login.do" method="post">
UserName:<html:text property="userName"></html:text>
PassWord:<html:password property="passWord"></html:password>
<html:button onclick="validate()"></html:button>
</form>
Run Code Online (Sandbox Code Playgroud)
上面的代码不起作用,我无法获取文本框中的值进行验证...请帮助我解决这个问题...
我按照书(2004)中的教程进行操作JakataStruts live。我有代码片段:
@Override
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
if(firstName == null || firstName.trim().equals("")){
errors.add("firstName", new ActionError("userRegistration.firstName.problem"));
}
//...
return errors;
Run Code Online (Sandbox Code Playgroud)
Netbeans IDE 注意到:“找不到符号”。如何解决上述问题呢?
我的会话中有一个DLPUser对象,这个DLPUser基本上是一个容器,用于字符串,整数和一些有用的信息.
(这是我在java中的action类中的代码片段)
Map <String, Object> session = ActionContext.getContext().getSession();
session.put("logged-in","true");
session.put("user", user); //user is DLPUser user = new DLPUser();
Run Code Online (Sandbox Code Playgroud)
现在我想显示user.getName()的值; 在某些JSP中的textField内部我该怎么做?我正在使用Struts标签,以下不起作用.
<s:textfield label="Name" name="name" value="<% session.user.getName(); %>"/>
Run Code Online (Sandbox Code Playgroud)
要么
<s:textfield label="Name" name="name" value="#session.user.getName"/>
Run Code Online (Sandbox Code Playgroud)
这应该是简单的......但我陷入困境,无法在struts和jsp中找到关于这个东西的好参考.非常感谢任何帮助.
Struts(1或2?)是否严格用于MVC类型的架构,还是有更多的东西?
我问的原因是我正在查看一个Web应用程序,他们似乎同时使用spring和struts.
有没有办法"捕获"会话超时事件,以便在无效之前从HttpSession中检索数据?
我们正在实现过滤器接口,并且在doFilter方法中,当会话超时时,我们在登录时存储在会话对象中的用户为空.
提前致谢.
我想知道mapping.getInputForward()Struts中有什么用.API表示它创建并返回ActionForward与Action输入相对应的内容.
但我不明白这意味着什么.有人能更清楚地向我解释一下吗?我可以使用此方法返回上一页吗?如果可以的话,我该怎么做?
我之前使用过scriptlet,但现在我切换到了mvc.我无法在JSP页面上检索值并获得错误:
javax.el.PropertyNotFoundException: Property 'tname' not found on type java.lang.String
Run Code Online (Sandbox Code Playgroud)
豆的代码:
public class regForm extends org.apache.struts.validator.ValidatorForm implements Iprafunctions {
private String tname = null;
private String tfee = null;
public String getTfee() {
return tfee;
}
public void setTfee(String tfee) {
this.tfee = tfee;
}
public String getTname() {
return tname;
}
public void setTname(String tname) {
this.tname = tname;
}
public regForm() {
super();
}
}
Run Code Online (Sandbox Code Playgroud)
动作控制器:
public ActionForward mvc(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception { …Run Code Online (Sandbox Code Playgroud)