可能重复:
JSP技巧使模板更容易?
我是JSPs和Servlets的新手,我想知道是否有一种简洁的方法来创建一个布局jsp并在类似的jsp页面上重用它,比如asp.net母版页.
我用谷歌搜索,有人说使用模板 http://java.sun.com/developer/technicalArticles/javaserverpages/jsp_templates 使用jstl标签库.它说要放一个这样的标签:
<%@ taglib uri='/WEB-INF/tlds/template.tld' prefix='template' %>
Run Code Online (Sandbox Code Playgroud)
但我得到错误(因为jstl.jar和standard.jar在WEB-INF/lib /目录中).
不过有人说jstl模板根据这个
Struts OR Tiles OR ??? ...... JSP模板解决方案有问题
我很乐意帮助我了解最好的方法.
编辑:我需要的是将页面的布局拆分为内容,标题等部分,并在使用布局模板的页面中设置此部分,就像asp.net母版页一样.
我正在尝试使用实体框架6.0和数据库第一种方法实现继承.好吧,假设我有一个像下面这样Person
的Organization
实体:
// a simplified version of organization entity
public class Organization
{
public Guid ID { get; set; }
public string Nickname { get; set; }
public string Email { get; set; }
public string PhoneNumber { get; set; }
public string OfficialName { get; set; }
public Guid CEOID { get; set; }
public DateTime? RegisterDate { get; set; }
}
// a simplified version of person entity
public class Person
{
public Guid ID …
Run Code Online (Sandbox Code Playgroud) 我有一个3层应用程序,图层是:
因此该Web
图层对我的DAL
图层一无所知.我有我的存储库接口和具体类DAL
,它们BLL
在业务逻辑类的层中使用.现在的问题是,为了分离DAL
和BLL
,我怎么设置Ninject注入我的仓库实现的BLL
层?
同样的问题是Web
层和BLL
层,我有BLL
我在Web
层中使用它们的接口和实现,我应该如何为此设置Niject?
我将使用MembershipReboot 进行我的asp.net web api身份验证,我应该实现X509证书.
msdn中有一篇关于如何:使用X.509证书保护服务的文章,该文章适用于使用ServiceHost
类的WCF服务.那么问题是如何在asp.net web api服务中实现这一目标?可能吗?
我正在开发一个代码生成器项目,该项目使用可自定义的层创建解决方案 现在我可以通过编写代码中的所有元素来创建.sln文件.但是项目文件不需要这个,可以使用MSBuild Project类进行编辑.
我想添加一个网站项目模板支持等,所以这样我编辑.sln文件并不酷,我想知道有更好的方法来做这个,比如MSBuild或其他什么?
我看到以编程方式生成Visual Studio解决方案,该解决方案说使用Visual Studio SDK(用于扩展visual studio,编写插件......),但是没有任何代码示例.
提前致谢
假设我们的环境中有三个实体,教师,学生和课程.
在这种关系中,每个关系都可以从另外两个关系推断出来,例如,知道T1老师正在教授哪些学生,通过老师和课程之间的关系来看看老师T1教授的课程,然后去通过课程与学生之间的关系,了解哪些学生参加了这些课程.这些学生是由T1老师教授的.
因此,我们不需要学生和教师之间的明确关系,因为"概念上"这种关系存在.
最后问题是:
在概念设计中,是否有必要展示所有这三种关系?
作为额外信息,如果关系保持为推断关系或应明确定义,那么它在逻辑设计(设计数据库表和关系)中的情况如何?
我是linq的新手.我需要运行一个连接两列(AnonymousUser.AnonymousId
正在uniqueidentifier
和comment.UserId nvarchar(100)
)的查询,如下所示:
using (CommentEntities db = new CommentEntities())
{
// filteredComments is a query that is not run until the next .ToList()
IQueryable<Comment> filteredComments = this.CommentGetList(...);
var query = from comment in filteredComments
// following line is the syntax error, because columns' types don't match
join user in db.AnonymousUsers on comment.UserId equals user.AnonymousId into gj
from userNull in gj.DefaultIfEmpty()
select new CommentWithName
{
Comment = comment,
UserId = comment.UserId,
FirstName = (userNull == null ? …
Run Code Online (Sandbox Code Playgroud) 我开始使用LinqKit的PredicateBuilder来创建具有OR条件的谓词,这是Linq表达式无法实现的.
我面临的问题是,如果我开始PredicateBuilder.True<MyEntity>()
它返回所有行,如果我开始PredicateBuilder.False<MyEntity>()
它返回非行,除了我使用的表达式!看下面的代码:
var pre = PredicateBuilder.True<MyEntity>();
pre.And(m => m.IsActive == true);
using (var db = new TestEntities())
{
var list = db.MyEntity.AsExpandable().Where(pre).ToList();
dataGridView1.DataSource = list;
}
Run Code Online (Sandbox Code Playgroud)
它应该返回具有IsActive == true的行,但它返回所有行!
我已经尝试了所有可能的组合PredicateBuilder.True
| PredicateBuilder.False
与And
| Or
方法,不是它们的作品!
我将编写一个验证组件,以便在不同的项目中使用它.我并不熟悉任何验证框架,如Enterprise Library VAB,Fluent,CuttingEdge.Conditions等等,但是我没有时间与所有这些框架一起工作,看看哪个更适合我的目的.
我希望这个组件为我提供两种不同的功能:
首先,我想要一些验证器,如EmailValidator,StringLengthValidator,MyCustomValidator等,我可以随时在代码中使用它们,如下所示:
public class EmailValidator : RegexValidator // or StringValidator or whatever!
{
public EmailValidator() : base("emailRegexHere")
{
}
public bool override DoValidate(string value)
{
return base.DoValidate(value);
}
}
...
public void MyMethod(string email)
{
EmailValidator validator = new EmailValidator();
if(!validator.Validate(email))
throw new NotValidatedException("email is invalid.");
...
}
Run Code Online (Sandbox Code Playgroud)
其次,我需要通过将DataAnnotations之类的东西应用到我想要的任何方法参数来验证参数,而无需任何额外的编码.我知道的一种可能的方法是使用PostSharp编写Aspects 以在方法启动时注入代码(OnMethodEntry).我用Postsharp完成了Logging,它运行得很好.
此外,Microsoft引入了IParameterInspector来在WCF中执行输入验证,它提供了两种方法BeforCall和AfterCall,但我认为它只适用于WCF.
总结一下,我需要在我的WCF或WebService中进行验证,如下所示:
[System.Web.Script.Services.ScriptService]
public class MyServiceClass : System.Web.Services.WebService
{
[Aspects.Validate]
[WebMethod(EnableSession = true)]
public string SubmitComment([Validation.Required]string …
Run Code Online (Sandbox Code Playgroud) 问题.在注册方案中,我试图在我的User表中插入一个用户,然后调用WebSercurity.CreateAccount
该用户(在一个事务中).这会导致MS DTC在服务器上不可用的错误.
描述.我这样做的原因是因为我有一个Customer
继承自的实体User
,所以WebSercurity.CreateUserAndAccount
不能使用因为它不知道Customer
并且只是插入一条User
记录.
我正在使用带有EntityFramework 5,CodeFirst和SQL Server 2008 R2的Asp.net MVC 4.
任何不使用DTC的建议将不胜感激!
编辑.
很明显为什么会出现这种错误,因为websecurity使用自己的连接到数据库,而我的存储库使用另一个连接,虽然我已经配置simplemembership使用与DbContext
我的存储库相同的类,但问题是它创建了一个新的实例该DbContext
...
我希望有一种方法可以传递现有的上下文对象,或者连接到WebSecurity
与其方法一起使用的方法.
这是代码:
if (ModelState.IsValid)
{
//using (TransactionScope tx = new TransactionScope())
//{
UnitOfWork.UserRepository.Insert(new Customer
{
FirstName = model.FirstName,
LastName = model.LastName,
Email = model.Email,
Tel = model.Tel,
Mobile = model.Mobile,
BirthDate = model.BirthDate,
InsertDate = DateTime.Now,
UserType = UserType.Customer,
MaritalStatus = model.MaritalStatus,
ZipCode = model.ZipCode,
StreetAddress = …
Run Code Online (Sandbox Code Playgroud) msdtc transactionscope asp.net-mvc-4 entity-framework-5 simplemembership
当我通过Mozilla Firefox打开任何stackexchange网站时,我遇到问题登录.我使用我的雅虎登录,所以当我的雅虎帐户登录时,我应该自动登录到stackexchange.因此,当我打开stackoverflow时,它会识别我(页面顶部会显示一条消息:" Hello Ashkan,欢迎回来......),当点击消息登录时,它会刷新页面,但我不是登录.现在我正在使用chrome发布这个问题,它运行正常.
我不知道这可能是一个愚蠢的错误,但我有这个问题大约2或3个月,因为Firefox是我最喜欢的浏览器,单独打开chrome来搜索stackoverflow等问题有点烦人.
如何使Ninject在运行时基于变量实例化对象?
我试图在控制器动作中注入正确的存储库 - MVC 3 - 基于来自用户输入的参数.如果用户输入"宝马",将绑定ICarRepository
到BMWRepository
,如果他输入"KIA" KiaRepository
将被注入.
[HttpPost]
public ActionResult SearchResult(FormCollection values)
{
string carModel = values["model"];
ICarRepository myRepository = RepositoryFactory.getRepository(carModel);
.....
}
Run Code Online (Sandbox Code Playgroud)
这是通过开关/案例noob实例化或参数化工厂知道的,我知道如何在没有Ninject的情况下手动完成,请查看此处介绍的4种方法探索工厂模式
我的问题是如何用Ninject做到这一点?