【问题标题】:two button in struts inline with each otherstruts 中的两个按钮相互内联
【发布时间】:2017-08-23 20:33:19
【问题描述】:

虽然看起来很简单,但我不知道如何将两个按钮相互对齐,尤其是因为它们具有不同的功能。我有 1 个表单,通过一个登录按钮和一个注册按钮让用户登录用户登记。它们有两种不同的形式关于如何将登录按钮与注册按钮对齐的任何想法这里是我的登录图像

这里是我用于登录 jsp 的代码。我可以在不使用 js 或其他东西的情况下尽可能地对齐它们吗?我想通过 jsp 来对齐它们。有没有办法做到这一点

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ 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>
<title>Login</title>
</head>
<body>

<s:form action="login">
    <s:textfield label="email" key="email" name="email" size="20" />
    <s:password label="password" key="password" size="20" />
    <s:submit value="LogIn"/>     
</s:form>
<!--form method="post" ACTION="pagination.jsp">
<input type="submit" value="View">
</form-->

<s:form action="register.jsp">
    <s:submit value="SignUp" type="submit" float="right"/>     
</s:form>
</body>
</html>

编辑

在这里从 cmets 更新代码:

<s:form action="login" style="float:right"> 
  <s:textfield label="email" key="email" name="email" /> 
  <s:password label="password" key="password" /> 
  <s:submit value="LogIn"/> 
</s:form> 

<!--form method="post" ACTION="pagination.jsp"> 
<input type="submit" value="View"> 
</form--> 
<s:form action="register.jsp" style="float:right"> 
<s:submit value="SignUp" type="submit"/> 
</s:form>

更新:是否可以让它看起来像这样![在此处输入图像描述][2]

【问题讨论】:

    标签: java html css jsp struts2


    【解决方案1】:

    1)不需要两种形式,可以使用s:submitaction属性。

    2)要在同一行获得两个按钮,您可以使用s:form theme 属性

    <s:form action="loginAction" theme="simple">
      <s:textfield label="email" key="email" name="email" size="20" /><br/>
      <s:password label="password" key="password" size="20" /><br/>
      <s:submit value="Register" name="registerBtn" />
      <s:submit value="LogIn" name="loginBtn"/>      
    </s:form>
    

    更新

    登录操作

    String registerBtn = request.getParameter("registerBtn");
    String loginBtn = request.getParameter("loginBtn");
    
    //if registerBtn is clicked then it's value Register is get stored in registerBtn.
    //if not registerBtn is not clicked then variable registerBtn has null.
    if(registerBtn != null)
    {
      //return and call action for register.jsp
    }
    if(loginBtn != null)
    {
      //do the login code here
    }
    

    要使用request对象,你需要实现ServletRequestAware接口并重写setServletRequest方法

    public class LoginAction  implements ServletRequestAware
    {
       HttpServletRequest request;
       public void setServletRequest(HttpServletRequest arg0) 
       {
          this.request = arg0;      
       }
    
       //rest of the above updated code here
    } 
    

    【讨论】:

    • 我已经实现了我想要的外观,但我牺牲了功能注册按钮不再起作用它的功能就像登录按钮的功能..代码很棒,这就是我看起来非常适合的伙伴 ahahahaha 但是我想我可以解决这个问题
    • @satinekianne : 乐于助人:)
    • 实际上我可以让注册按钮工作它的功能不是我想要的它的功能是登录按钮但用户界面很完美唯一的问题是功能不是不再一样了,我认为需要表格你觉得呢?
    • 我正在尝试它..它看起来像这样看我的代码版本


      当我点击注册功能就像登录功能我不知道我哪里弄错了你能检查一下?
    • 是的,您可以删除它,但是您将不会在同一行上有两个按钮。我的建议是您可以创建 HTML table ,将两个按钮放在两个 td 中,然后使用简单的 html 标签创建表单。
    【解决方案2】:

    从注册按钮中删除 float 并将其应用于 form 字段,它应该可以工作.... see a basic demo here

    另外,将float 属性添加到两个表单字段,而不仅仅是一个......

    编辑

    这将节省您的时间

    <form action="login" style="float:right; "> 
        <input type="textfield" label="email" key="email" name="email" /> <br />
      <input type="password" label="password" key="password" /> <br />
      <input type="submit" value="LogIn" style="float:right;"/> <br />
    <form> 
    
    <!--form method="post" ACTION="pagination.jsp"> 
    <input type="submit" value="View"> 
    </form--> 
    <form action="register.jsp"> 
    <input type="submit" value="SignUp" type="submit" style="float:right;margin-top:-20px;"/> 
    <form>
    

    see demo here

    【讨论】:

    • 看起来有点像这个注册按钮内联,电子邮件下方是密码,下方是登录按钮,所有这些都在屏幕右侧..这是我的代码
    • 您希望按钮如何对齐???我无法理解...这是当前输出 => jsfiddle.net/gH7qM
    • 我看到你的小提琴它看起来不错我更新了一张图片来告诉你我想要它我不知道我试过你的方式但它不会工作
    • 只需根据您的其他 css 使用margin-top:-20px;...这对您有用! :)
    • 新年快乐,编码愉快
    【解决方案3】:

    这并不是最好的解决方案,但到目前为止,我能够解决我的问题,它看起来不错,功能还可以,我只是在按钮上添加了 css 以使其看起来不错

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <%@ page import="java.util.*" %>  
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Login</title>
    </head>
    <body>
    <s:form action="login">
        <s:textfield label="email" key="email" name="email" size="20" />
        <s:password label="password" key="password" size="20" />
        <s:submit value="LogIn" style="float:left;"/>     
    </s:form>
    <s:form action="register.jsp">
        <s:submit value="SignUp" type="submit" style="float:right;margin-top:-5px;"/>     
    </s:form>
    </body>
    </html>
    

    【讨论】:

      【解决方案4】:

      解决如下一个 div 标签另一个 td 和 div 都包含在一个 td 然后 tr 工作正常

      <tr>
                      <td class="pageHeader">
                      <div class="formButton"><input type="submit" value="Login" name="loginActionForm.loginButton" class="btncolor"/>
      </div>
                          <td>
      <div class="formButton"><input type="reset" name="loginActionForm.clearButton" value="Clear" class="btncolor" onfocus="document.forms[0].user.focus()"/>
      </div></td>
                          </td>
      
              </tr>
      

      【讨论】:

      • 请用插图对您的答案进行更多解释,以便更清楚
      • 我已将您的代码放入代码块中(因为您不能只在答案中粘贴 HTML 代码)。现在请edit 它并给它一个干净的格式。谢谢。
      猜你喜欢
      • 1970-01-01
      • 2020-02-19
      • 2019-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-29
      • 2018-11-05
      • 2014-01-20
      相关资源
      最近更新 更多