Play框架提供了模板帮助程序库,该库提供了使用选项和选定值构建选择下拉列表的功能。一旦正确理解,使用起来非常简单。
视图中的@
helper.select()方法采用与选择类型的输入字段相关的各种参数。第一个参数是表单字段,因为这里没有任何表单,我们可以创建一个临时表单并在内部创建一个名称为Consultant的新字段(因为这将是select字段的name属性的值)。第二个参数是选项的映射,其中的键和值分别对应于选项标签的值和选项标签中包含的文本。
控制器代码
package controllers;import models.Client;import play.mvc.*;import views.html.*;public class Application extends Controller { public static Result index(){ return ok(index.render(Client.getClientDetails())); }}型号代码
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.*;import play.db.ebean.Model;public class Client extends Model { private static final long serialVersionUID = -1932214701504374792L; public static String ClientName; public static HashMap<String, String> Clientdetail= new HashMap<String, String>(); public static HashMap<String, String> getClientDetails() { try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433","SUMEET","sumeet"); Statement sta = conn.createStatement(); String Sql = "select * from client"; ResultSet rs = sta.executeQuery(Sql); while (rs.next()) { ClientName = rs.getString("ClientName"); Clientdetail.put(ClientName,ClientName); } } catch (InstantiationException | IllegalAccessException | ClassNotFoundException |SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return(Clientdetail); }}查看代码:index.scala.html
@(ClientDetails: java.util.HashMap[String, String])@import helper._@main("ADMS") { <center> <form id="select"> <a>CONSULTANT</a> @select(Form.form()("Consultant"), options(ClientDetails), 'value -> "clientName1"[any value that should be selected by default]) <table border="1"> <tr> <td width=50px>Client</td> <td width=50px>Project</td> <td width=50px>Task</td> <td width=50px>Date</td> <td width=50px>Consultant</td> <td width=50px>Role</td> <td width=80px>Is Billable</td> </tr> <tr> <td>@ClientDetails</td> </tr> </table> </form> </center>}


